解题思路:先说1!加到20!的答案为2561327494111820313;所以说本题的关键是数据类型能表示数的范围大小;long long int一般分配8个字节即9.22337203685x10的18次方,用%lld打印
注意事项:
参考代码:
#include<stdio.h>
long long int stratum(int x)//计算n!的函数
{
long long int Sn = 1;
int i;
for (i = x;i > 0; i--)
{
Sn = Sn * i;
}
return Sn;
}
int main()
{
long long int Sn = 0;
int n = 0;
scanf("%d", &n);
if (n > 20)printf("n不得大于20");
else
{
n++;//配合while(--n)的--n,--n先计算后赋值
while (--n)
{
Sn = Sn + stratum(n);
}
}
printf("%lld", Sn);
return 0;
}
0.0分
0 人评分
C二级辅导-计负均正 (C语言代码)浏览:1269 |
小九九 (C语言代码)浏览:568 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:668 |
C语言训练-尼科彻斯定理 (C语言代码)。。。内含证明定理浏览:2142 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:689 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:669 |
简单的a+b (C语言代码)浏览:752 |
程序员的表白 (C语言代码)浏览:706 |
WU-图形输出 (C++代码)浏览:836 |
WU-整除问题 (C++代码)浏览:648 |