解题思路:
本题用于记录解题代码
算一个阶乘是一个循环,把所有的阶乘乘积加起来是另一个循环,因此要使用嵌套
注意事项:
①当n取20时用int定义会导致数据丢失,应该根据最终结果定义为long long类型(m在计算的过程中也会变得很大,应该同样定义成此类型),输出时格式为%lld
②两次循环之间,当内层循环每个数阶乘求得之后,外层循环应当将其初始化为1,否则越加越大
③在循环的条件中注意有真实意义的值,如n代表有多少个数一起加起来,i要初始化为1,i最大可以取到n
④注意什么语句应该放在哪一层循环才可以得到想要的结果(多多思考)
参考代码:
#include<stdio.h> int main() { int n; long long Sn=0,m; scanf("%d",&n); for(int i=1;i<=n;i++) { m=1; for(int j=0;j<i;j++){ m=m*(j+1); } Sn=Sn+m; } printf("%lld",Sn); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.1 (C++代码)浏览:726 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:1414 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:865 |
C语言训练-计算1977!* (C语言代码)浏览:940 |
川哥的吩咐 (C++代码)浏览:1076 |
C语言训练-排序问题<1> (C++代码)浏览:632 |
C语言训练-立方和不等式 (C语言代码)浏览:779 |
不会做的浏览:954 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:790 |
用筛法求之N内的素数。 (C语言代码)浏览:1385 |