解题思路:一般我们输出的格式写的都是 print("%d",Sn); 但仅仅是%d的话他的位数是不够的。详细如下:
%d 有符号32位整数
%u 无符号32位整数
%lld 有符号64位整数
%llx有符号64位16进制整数
故注意下要用lld 输出64位
本人菜鸡,非常欢迎各位大佬给出建议,谢谢!
注意事项:
%d=int,
%ld=long,
%lld=long long;
参考代码:#include<stdio.h>
int main() {
long int sn=1;
long int n;
long int i = 1,a=0;
scanf("%d", &n);
while (i++ < n) {
a = 1;
for (long int k = 1;k <= i;++k) {
a = a * k;
}
sn = sn + a;
}
printf("%lld", sn);
}
0.0分
0 人评分
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:684 |
钟神赛车 (C++代码)浏览:867 |
【出圈】 (C语言代码)浏览:558 |
简单的a+b (C语言代码)浏览:695 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:506 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:611 |
水仙花 (C语言代码)浏览:1054 |
关于C语言变量位置的问题浏览:273 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:560 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:559 |