Faça um programa que lê um número real do teclado e utilizando o comando “while” calcula o fatorial deste número. (ex: 5! é igual a 5 * 4 * 3 * 2 * 1 ).
Passo 1
O enunciado pede um programa que leia um número real, converta-o em inteiro (já que fatorial é definido para inteiros não-negativos) e calcule o fatorial desse inteiro usando um laço
while
. O conteúdo envolve controle de fluxo e estruturas de repetição em programação.Passo 2
Precisamos capturar a entrada do usuário como um número real, converter para inteiro (por exemplo, truncando a parte decimal) e verificar se esse inteiro é não-negativo. Se for negativo, podemos exibir uma mensagem de erro ou tratar como caso especial.
Passo 3
Declaramos uma variável para armazenar o fatorial (inicializando em
) e um contador
que começa em
. Vamos usar a cada iteração e depois incrementar
.
while (i <= n)
para multiplicar o fatorial por
Passo 4
No laço
while
, realizamose em seguida fazemos
. Quando
ultrapassar o valor de
, o laço termina e teremos o resultado.
Passo 5
Por fim, imprimimos o valor calculado de fatorial.
Resposta
#include <stdio.h>
int main() {
double x;
printf("Digite um número real: ");
scanf("%lf", &x);
int n = (int)x; // converte truncando
if (n < 0) {
printf("Fatorial não definido para números negativos.
");
return 1;
}
long long fatorial \(=1\);
int i \(=1\);
while (i <= n) {
fatorial *= i;
i\(++\);
}
printf("%d! = %lld
", n, fatorial);
return 0;
}