解题思路: 先求阶乘,再求和。
我开始自已用了两个for嵌套,后来参考大神们的例程简化了。
我电脑里用的是“学习和试验系统”环境,没装正式的,不支持long后面再跟long的数据类型,前面各种提交一直提了20次都通不过,第21次抛开电脑里原编程环境总算通过。
注意事项: 定义变量类型时要注意变量的长度!!题目描述的括号中“不超过20“至关重要!!
参考代码:
#include "stdio.h"
int main()
{
int n,i;
unsigned long long Sn=0,a=1;/*单20!有符号的长长整型已经不够存放了*/
scanf("%d",&n);
for(i=1;n>=i;i++)
{
a=a*i
Sn=Sn+a;
}
printf("%ld",Sn);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:600 |
C语言训练-素数问题 (C语言代码)浏览:1651 |
A+B for Input-Output Practice (VI) (C++代码)浏览:413 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:504 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:667 |
P1000 (C语言代码)浏览:867 |
1024题解浏览:802 |
数字游戏 (C++代码)浏览:1173 |
字符串比较 (C语言代码)浏览:679 |
简单的a+b (C语言代码)浏览:627 |