解题思路:
用了两个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语言训练-排序问题<2> (C++代码)(sort函数)浏览:1581 |
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:602 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:517 |
淘淘的名单 (C语言代码)答案错误???浏览:595 |
简单的a+b (C语言代码)浏览:694 |
C语言训练-阶乘和数* (C语言代码)-------- 呆板写法浏览:1362 |
【简单计算】 (C语言代码)浏览:622 |
【计算直线的交点数】 (C语言代码)浏览:1453 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:373 |
1124题解浏览:595 |