Очевидно, что это [hometask] и совершенно новый вопрос, который я задаю. Я попытался понять это самостоятельно, меняя код несколько раз, но все же получаю неправильные результаты от факториала. Идея программы заключается в печати таблицы факториалов для целых чисел от 1 до 10. Для того, чтобы получить трюк сделано, моя идея состояла в том, чтобы использовать вложенные в то время как и заявления, как показано в коде ниже:Получение неправильного результата при вычислении факториалов в C. =
#include <stdio.h>
int main (void)
{
int n, factorial, u;
u = n;
printf ("Table to calculate factorials from 1 to 10\n");
printf ("n Factorial to n\n");
for (n = 1; n <= 10; n= n+1)
{
while (u <= n)
factorial = n * u;
u = u - 1;
printf ("%i %i\n", n, factorial);
}
return 0;
}
Однако, я получаю неправильные результаты в консоли. Думаю, я испортил алгоритм для вычисления факториалов или программной логики. Я попытался изменить код, но все равно застрял. Любая помощь будет оценена по достоинству. Спасибо и с Новым Годом!
Спасибо! теперь работает. Вы правы - я пропустил фигурные скобки и начал использовать переменную u перед ее инициализацией. Получил это сейчас. Благодаря! – wondersz1
Если вы установите factorial в 1 перед циклом, а затем умножьте на n внутри цикла, вам совсем не нужен второй цикл. Гораздо проще. –
@ Маты Хорошая точка. Я просто пытался сделать что-то похожее на то, как оно уже было написано, используя существующие переменные. – Antimony