很明顯,這是一個[hometask]和我所問的一個全新手問題。我試圖通過多次更改代碼來自己弄清楚,但仍然從階乘計算中得到錯誤的結果。 該計劃的想法是打印階乘的表爲整數從1到10,以獲得把戲完成的,我的想法是對嵌套和while語句使用如下圖所示的代碼:在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,則根本不需要第二個循環。簡單得多。 –
@Mats好點。我只是試圖用已有的變量來做類似於它已經寫好的東西。 – Antimony