次のようにコードを記述します
//求1!+2!+3!+4!+...+10!的值
#include <stdio.h>
int main()
{
int i,j,m=1,sum=0;
for(i=1;i<=10;i++)
{
m=1; //关键点1。每求完一次阶乘,m需要置1
for(j=1;j<=i;j++)
{
m*=j;//关键点2。求每个数的阶乘
}
printf("%d的阶乘为:%d\n",i,m);
sum+=m;//关键点3。即将每个数的阶乘加起来求和
}
printf("\n");
printf("所求结果为:%d\n",sum);
return 0;
}
各階乗の結果を観察するために、1〜10以内の各数値の階乗も印刷しました。結果は次のとおりです。
この問題を解決するための鍵は、コードで注釈を付けた3つの重要なポイントを考慮することです。