c语言编程计算1!+2!+3!+4!+5!(用for的双层循环),请教大家

2024-12-04 11:35:28
推荐回答(5个)
回答1:

main()
{
int i,j,n,sum=0;
for(i=1;i<=5;i++)
{
n=1;
for(j=1;j<=i;j++)
n*=j;
sum+=n;
}
printf("%d\n",sum);
}

说明:第一个for循环是分别提出进行阶乘的因数即分别提出1,2,3,4,5。
第二个for循环是将提出的因数进行阶乘运算。
在第一个for和第二个for之间加个n=1;是因为经过一次阶乘后n的值发生变化。(比如当i=2时,经过第2个for循环得到n等于2!的值,所以当i=3进行3!运算时需要将n重置为1.)
sum+=n;是将每次阶乘的值累加,最终得出1!+2!+3!+4!+5!的值

回答2:

main()
{
int
i,j,n,sum=0;
for(i=1;i<=5;i++)
{
n=1;
for(j=1;j<=i;j++)
n*=j;
sum+=n;
}
printf("%d\n",sum);
}
说明:第一个for循环是分别提出进行阶乘的因数即分别提出1,2,3,4,5。
第二个for循环是将提出的因数进行阶乘运算。
在第一个for和第二个for之间加个n=1;是因为经过一次阶乘后n的值发生变化。(比如当i=2时,经过第2个for循环得到n等于2!的值,所以当i=3进行3!运算时需要将n重置为1.)
sum+=n;是将每次阶乘的值累加,最终得出1!+2!+3!+4!+5!的值

回答3:

#include "stdio.h"
int main()
{ int i,j;
int sum=0,t;
for(i=1;i<=5;i++)
{ t=1;
for(j=1;j<=i;j++)
{
t=t*j;
}
sum=sum+t;
}
printf("%d\n",sum);
}
楼上的楼上第二次循环没有为t赋初值
楼上sum=s+sum; 语句应该在二次FOR循环的外面

回答4:

#include
"stdio.h"
int
main()
{
int
i,j;
int
sum=0,t;
for(i=1;i<=5;i++)
{
t=1;
for(j=1;j<=i;j++)
{
t=t*j;
}
sum=sum+t;
}
printf("%d\n",sum);
}
楼上的楼上第二次循环没有为t赋初值
楼上sum=s+sum;
语句应该在二次FOR循环的外面

回答5:

下面有三条strcpy(temp,当他的语句为一条时;
strcpy(name[i+1].;
strcpy(name[i],有没有{}一样,不用加{}
如题,name[i]).,第二个for只有一个if语句,第一个for循环只有一个for语句。
第三条if语句;
所以要加上{}
while
与do
,name[i+1]),temp)这是一样一样的
任何循环语句