我的答案是
分析下程式,階乘可以用遞迴做,也可以用迴圈做,這裡就放上這兩種程式碼了。
一.遞迴:
#include <stdio.h>
int f(int t)
{
if (t==1)
return 1;
else
return t*f(t-1);
}
int main()
printf("%d\n",f(10));
return 0;
程式分析:定義一個f函式,利用遞迴的特性,進行運算
10*f(9
) = 10*9*f(8) …… 直到到1時返回1
得出結果:
二.迴圈:
int t1=1;
for(int i=10;i>=1;i--)
t1 = t1*i;
printf("%d", t1);
程式分析:直接用一個for迴圈進行自減即可完成,定義t1用於儲存結果
我的答案是
分析下程式,階乘可以用遞迴做,也可以用迴圈做,這裡就放上這兩種程式碼了。
一.遞迴:
#include <stdio.h>
int f(int t)
{
if (t==1)
return 1;
else
return t*f(t-1);
}
int main()
{
printf("%d\n",f(10));
return 0;
}
程式分析:定義一個f函式,利用遞迴的特性,進行運算
10*f(9
) = 10*9*f(8) …… 直到到1時返回1
得出結果:
二.迴圈:
#include <stdio.h>
int main()
{
int t1=1;
for(int i=10;i>=1;i--)
{
t1 = t1*i;
}
printf("%d", t1);
return 0;
}
程式分析:直接用一個for迴圈進行自減即可完成,定義t1用於儲存結果
得出結果: