#include #include double fatorial(int x); void troca(int *x, int *y); /* x e y são apontadores para endereços de memória que guardam valores do tipo int */ double fatorial(int x){ double fat=1; while (x > 1){ fat = fat * x; x--;} return(fat); } void troca(int *x, int *y){ int aux; aux = *x; /* conteúdo de x é atribuído ao conteúdo de aux */ *x = *y; /* conteúdo de y é atribuído ao conteúdo de x */ *y = aux; /* conteúdo de aux é atribuído ao conteúdo de y */ } int main(){ int n,p,C; printf("Entre o valor para n: "); scanf("\n%d",&n); printf("Entre o valor para p: "); scanf("%d",&p); if (p > n) troca(&p,&n); /* passa os endereços de p e de n */ if ((p >= 0)&&(n >= 0)){ C = (int)(fatorial(n)/(fatorial(p)*(fatorial(n-p)))); printf("O resultado foi => %d \n",C); } system("pause"); return 0; }