输入4<回车>后,下列程序的输出结果是
答案:2 悬赏:50 手机版
解决时间 2021-04-01 17:45
- 提问者网友:寂寞撕碎了回忆
- 2021-04-01 13:23
输入4<回车>后,下列程序的输出结果是
最佳答案
- 五星知识达人网友:毛毛
- 2021-04-01 14:56
scanf("%d", &n);//获取输入的整数存入n(也就是你输的4)
for(k=1;k<=n;k++){ // 循环语句,循环次数为n,也就是用户输入的整数
for(j=1;j
f=f*k; //这句是二层循环的执行语句,第二层到这里结束
s=s+f; //注意,这句不属于第二层循环,是第一层里的
printf("%.0f#",s); //输出保留一位浮点数格式的S的值后加一个#号
}
}
以你给的例子分析一遍:
获取输入的4存入N,所以n=4;
s=0; f=1;
第一个循环K=1,N=4,K 第二层循环J=1,K=1,J=K不执行
s=0,f=1,所以s=0+1=1;
输出s,为1#;
回第一层循环K++后K=2,N=4,K 第二层循环J=1,K=2,J f=1,k=2,所以f=1*2=2;
回第二层循环J++,J=2,K=2,J=K不执行跳出
s=1,f=2,所以s=1+2=3;
输出s,为3#;
回第一层循环K++后K=3,N=4,K 第二层循环J=1,K=3,J f=2,k=3,所以f=2*3=6;
回第二层循环J++,J=2,K=3,J f=6,k=3,所以f=6*3=18;
回第二层循环J++,J=3,K=3,J=K不执行跳出
s=3,f=18,所以s=3+18=21;
输出s,为21#;
回第一层循环K++后K=4,N=4,K=N,执行
第二层循环J=1,K=4,J f=18,k=4,所以f=18*4=72;
回第二层循环J++,J=2,K=4,J f=72,k=4,所以f=72*4=288;
回第二层循环J++,J=3,K=4,J f=288,k=4,所以f=288*4=1152;
回第二层循环J++,J=4,K=4,J=K不执行跳出
s=21,f=1152,所以s=21+1152=1173;
输出s,为1173#;
回第一层循环K++后K=5,N=4,K>N,不执行跳出
结束程序
所以整个的结果是
1#3#21#1173#
for(k=1;k<=n;k++){ // 循环语句,循环次数为n,也就是用户输入的整数
for(j=1;j
f=f*k; //这句是二层循环的执行语句,第二层到这里结束
s=s+f; //注意,这句不属于第二层循环,是第一层里的
printf("%.0f#",s); //输出保留一位浮点数格式的S的值后加一个#号
}
}
以你给的例子分析一遍:
获取输入的4存入N,所以n=4;
s=0; f=1;
第一个循环K=1,N=4,K
s=0,f=1,所以s=0+1=1;
输出s,为1#;
回第一层循环K++后K=2,N=4,K
回第二层循环J++,J=2,K=2,J=K不执行跳出
s=1,f=2,所以s=1+2=3;
输出s,为3#;
回第一层循环K++后K=3,N=4,K
回第二层循环J++,J=2,K=3,J
回第二层循环J++,J=3,K=3,J=K不执行跳出
s=3,f=18,所以s=3+18=21;
输出s,为21#;
回第一层循环K++后K=4,N=4,K=N,执行
第二层循环J=1,K=4,J
回第二层循环J++,J=2,K=4,J
回第二层循环J++,J=3,K=4,J
回第二层循环J++,J=4,K=4,J=K不执行跳出
s=21,f=1152,所以s=21+1152=1173;
输出s,为1173#;
回第一层循环K++后K=5,N=4,K>N,不执行跳出
结束程序
所以整个的结果是
1#3#21#1173#
全部回答
- 1楼网友:平生事
- 2021-04-01 15:57
# include "stdio.h"
int main( )
{ int j,k,n;
float f,s;
scanf("%d", &n);
s=0; f=1;
for(k=1;k<=n;k++){
for(j=1;j f=f*k;
printf("k=%d,j=%d,f=%.0f#\n",k,j,f);'加多一句输出,用来观察
'即可理解为debug
s=s+f;
printf("s=%.0f#\n",s);
}
}
以下是结果:
k=1,j=1,f=1#
s=1#
k=2,j=2,f=2#
s=3#
k=3,j=3,f=18#
s=21#
k=4,j=4,f=1152#
s=1173#
int main( )
{ int j,k,n;
float f,s;
scanf("%d", &n);
s=0; f=1;
for(k=1;k<=n;k++){
for(j=1;j
printf("k=%d,j=%d,f=%.0f#\n",k,j,f);'加多一句输出,用来观察
'即可理解为debug
s=s+f;
printf("s=%.0f#\n",s);
}
}
以下是结果:
k=1,j=1,f=1#
s=1#
k=2,j=2,f=2#
s=3#
k=3,j=3,f=18#
s=21#
k=4,j=4,f=1152#
s=1173#
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯