#include <stdio.h>
int main()
{
int num,i,item,m,sum=0,count=0;
printf("请输入一个数字:(如:20)");
scanf_s("%d", &num);
for (m = 1; m <= num; m++)
{
count++;
for (i = 1,item=1; i <= m; i++)
{
item *= i;
}
sum += item;
if (count < num)
{
printf("%d!+", m);
}
else
printf("%d!", m);
}
printf("=%d", sum);
}
解释:
有两个循环,第一个循环用来给sum累计和,第二个循环用来求阶层,注意第二个循环里面item一定要初始化为1,不然会出现不必要的多余累乘。然后输出打印时候注意下,如果是最后一个数字的打印,不要输出加号,如果不是最后一个数字,要输出加号。这里用了count计数器和if选择去实现。然后最后是输出一下"=sum"。