解题思路:
程序正确,但总是提醒答案错误,是因为结果超出了变量可表示的范围
注意事项:
使用unsigned long int 类型。
参考代码:
#include<stdio.h>
unsigned long fun(int num)
{
if(num == 1)
return 1;
else
return num * fun(num - 1);
}
int main()
{
int n, i, num = 1;
unsigned long int sum = 0;
scanf("%d", &n);
for(i = 1; i <= n; i++)
{
sum += fun(i);
}
printf("%lld",sum);
return 0;
}
0.0分
0 人评分
C语言训练-8除不尽的数 (C语言代码)暴力解法,答案只有一个,直接输出就好了浏览:939 |
C二级辅导-求偶数和 (C语言代码)浏览:564 |
母牛的故事 (C语言代码)浏览:661 |
C语言训练-排序问题<1> (C++代码)浏览:565 |
母牛的故事 (C语言代码)浏览:412 |
【偶数求和】 (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:739 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:502 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1201 |
三角形 (C++代码)记忆化搜索浏览:1175 |