求1!+2!+3!…+20!
//for循环语句写:
#include<stdio.h>
int main()
{
int i, j, n;
int sum = 1;//每一个阶乘的积,所以初值要是1
int sum_number = 0;//每一个数的阶乘的积的和
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum = 1;//很重要,保证每次内循环的sum值重新跑外循环的时候,值要是1,而不能是原来上一次所求的结果
for (j = 1; j <= i; j++)
{
sum = sum*j;//在j不大于i的情况下,求阶乘,例如sum=1*2*3*4...
}
printf("第%d项的结果为:%d\n", i, sum);
sum_number = sum_number + sum;//将内循环每次求得的sum结果累加起来,满足外循环的条件下,一直累加
}
printf("结果为:%d\n", sum_number);
return 0;
}
//while语句写:
#include<stdio.h>
int main(){
int i, n, m;
int sum = 1;
int count = 0;
scanf("%d",&n);
i = n;
while (n>0){
m = n;
sum = 1;
while (m>0){
if (m > 0){
sum *= m;
m--;
}
else{
break;//标准,可有可无此处
}
}
count += sum;
n--;
}
printf("从1!加到%d!的和是:%d\n",i,count);
}