注意事项: 当int使用之后,根据测试用例,算出结果正确时,而提交未通过时,要多看看题目对于数的限制,n不超过20,而20的阶乘是一个很大的数,可能已经超过int的范围,这个时候我们考虑用long long定义变量,同时输出格式改为%lld即可
参考代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
long long faci(int n) {
long long sum = 1;
while (n > 0) {
sum *= n;
n--;
}
return sum;
}
int main() {
long long sn = 0;
int n = 0;
scanf("%d", &n);
while (n > 0) {
sn += faci(n);
n--;
}
printf("%lld", sn);
return 0;
}
0.0分
0 人评分
C语言考试练习题_保留字母 (C语言代码)浏览:712 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:735 |
蛇行矩阵 (C语言代码)浏览:767 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:587 |
IP判断 (C语言描述,蓝桥杯)浏览:1098 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1082 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1437 |
川哥的吩咐 (C语言代码)浏览:631 |
时间转换 (C语言代码)浏览:652 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:612 |