c语言求s=1!+2!+3!+…+n!(n由输入决定)。求大神能详细解读一下这个程序,尤其是for语句里面是什么意思

2024-11-15 17:31:42
推荐回答(4个)
回答1:

第一二行代码:int i,j,n;
long int t=1,sum=0;//定义了三个整数型(短整型)的变量,定义两个长整整型变量并初始化。

第三行代码:printf("input n:",&n);//提示输入。

第四行代码:scanf("%d",&n);利用scanf()函数输入n。

第五行代码:for (i=1;i<=n;i++)//进入for循环,外部for循环的主要作用是进行阶乘的求和。

第六七八行代码:t=1;
for(j=1;j<=i;j++)
t=t*j;//引用t这个变量进行对i这个阶乘的计算,并将结果储存在t中。内部的for循环的主要作用是计算阶乘。

第九行代码:sun=sum+t;//计算阶乘的和。

第十行代代码:printf("n!=%ld",sum);//利用printf()函数对结果进行输出。

扩展资料:

循环的嵌套:

1,while循环包含while循环的内层循环。

2,do…while循环包含do…while循环的内层循环。

3,for循环包含for循环的内层循环。

4,while循环包含do…while循环的内层循环。

5,for循环包含while循环的内层循环。

6,do…while循环包含for循环的内层循环。

参考资料来源:百度百科—C语言

回答2:

您好!很高兴为您解答。

解释如下:

#include
void main()
{
int i,j,n;
long int t=1,sum=0;//必要的初始化,保证后面for循环的语句“sum=sum+t;”能正常执行。
printf("input n:",&n);
scanf("%d",&n);//输入式中n
for (i=1;i<=n;i++)
{
t=1;//作为计算阶乘的起始
for(j=1;j<=i;j++)//这个内层循环计算的是 i !(i由1递增至n)
t=t*j;
sum=sum+t;//每进行一次外层循环,加一个 i !由此实现整个式子的计算
}
printf("n!=%ld",sum);//输出计算结果
}

望采纳~如您还有不解,欢迎追问~

回答3:

for里面是循环 i=1是第一次循环是i的值,i<=n是i的循环范围,i++是i的值每次加1

回答4:

刚学C??要看懂 for里面的最好懂得方法是你代几个数一步一步试试 然后你应该会明白吧