解题思路:
用了两个for循环
第一个for循环求和:先求的是n!然后是(n-1)!然后是(n-2)! ……最后再加起来
第二个for循环求n!
注意事项:
由于数值较大,建议用long long定义阶乘的结果sn和求和结果Sn
输出格式为printf("%lld", Sn);
参考代码:
//求Sn=1!+2!+3!+4!+5!+…+a! #include<stdio.h> int main() { int a; int n; long long sn; long long Sn = 0; scanf("%d", &a); for(a; a > 0; a--) //先求的是n!然后是(n-1)!然后是(n-2)! ……最后再加起来 { sn = 1; for(n = 1; n <= a; n++) { sn = sn * n; //n!的值 } Sn = Sn + sn; } printf("%lld", Sn); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:514 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:613 |
众数问题 (C语言代码)浏览:830 |
WU-整除问题 (C++代码)浏览:612 |
C语言训练-亲密数 (C语言代码)浏览:682 |
循环入门练习6 (C语言代码)浏览:970 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:616 |
剪刀石头布 (C语言代码)浏览:1436 |
一元一次方程 (C语言代码)浏览:4069 |
整数平均值 (C语言代码)浏览:787 |