Pages

segunda-feira, 4 de julho de 2016

Algoritmo em C -Fatorial de uma sequencia numérica

Um programa em C, onde o usuário deverá informar 2 números inteiros. Esses números representam, respectivamente, o inicio e o fim de uma sequencia numérica. Se necessário, altere a ordem dos números informados e exiba o calculo e o resultado do fatorial de cada número no intervalo.
Exemplo:
3! = 3 x 2 x 1 = 6
4! = 4 x 3 x 2 x 1 = 24

5! = 5 x 4 x 3 x 2 x 1 = 120

 #include<stdio.h>
#include<math.h>
int main(){
     int n1,n2,aux,i1,i2,fat;
     int aux2; 
     char resp;
     do{
      system("cls");  
      printf("\nInforme um numero inteiro para inicio: ");
      scanf("%d",&n1);
      printf("\nInforme um numero inteiro para o fim: ");
      scanf("%d",&n2);
      if(n1<=1 && n2<=1)
               while(n1<=1 || n2<=1){
                           system("cls");
                           printf("\nDigite dois numeros maiores que 1:");
                           scanf("%d%d",&n1,&n2);
               }
          if(n1==n2)
               while(n1==n2){
                             system("cls");
                           printf("\nDigite dois numeros maiores que um e diferentes:");
                           scanf("%d%d",&n1,&n2);
               }
      if(n2<n1){
       aux=n1;
       n1=n2;
       n2=aux;
      }
      for(i1=n1+1;i1<n2;i1++){
        fat=1;     
          for(i2=i1;i2>=1;i2--){                                             
               if(i1==i2){
                          printf("%d!=%dx",i1,i2);
         
             }         
             else 
                  if(i2==1){
                            printf("%d=%d\n",i2,fat);
                             fat*=i2;
               }
               else
                   printf("%dx",i2);
                   fat*=i2;
           }
      }
             printf("\n\nDeseja executar novamente?");
             scanf("%s",&resp);
            if(resp!='s' && resp!='S' && resp!='n' && resp!='N'){
                         printf("\n\nDeseja executar novamente?");
                         scanf("%s",&resp);
             }      
    }while(resp=='s' || resp=='S');
}

Duvidas ou Trabalhos para fazer entre em Contato: marcofernando71@gmail.com

0 comentários:

Postar um comentário