解题思路:先说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语言代码)浏览:3447 |
数组输出 (C语言代码)浏览:806 |
Hello, world! (C语言代码)浏览:1304 |
C语言训练-立方和不等式 (C语言代码)浏览:775 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:677 |
wu-淘淘的名单 (C++代码)浏览:1523 |
WU-陶陶摘苹果2 (C++代码)浏览:1009 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:693 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:557 |
简单的a+b (C语言代码)浏览:569 |