解题思路:
①阶乘
②累加
注意事项:
① int越界。更换类型 long long int
②不必舍近求远,开始想用数组,但数组从0开始,浪费a[0]位置,且规定范围为n+1,还要考虑输入值范围,比较麻烦;
③直接设变量从0开始累加,即,乘完就加。
④注意设定输入值n的范围。
⑤注意累乘不要初值设0,否则永远是0,(0*任何数=0)
参考代码:
#include<stdio.h>
long long int chen(long long int n);
int main()
{
long long int n;
long long int s=0;
scanf("%lld",&n);
if(n>=1&&n<=20){
// long long int a[n+1];
// long long int j=1;
for(long long int i=1;i<=n;i++)
{
s=s+chen(i);
//printf("%lld ",s);
}
printf("%lld",s);
}
return 0;
}
long long int chen(long long int n){
long long int j=1;
for(long long int i=1;i<=n;i++){
j=j*i;
}
return j;
}
0.0分
0 人评分
C语言训练-求矩阵的两对角线上的元素之和 (C++代码)浏览:806 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:778 |
C二级辅导-统计字符 (C语言代码)浏览:541 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:703 |
WU-输出正反三角形 (C++代码)浏览:1021 |
1009题解浏览:752 |
Cylinder (C语言描述+详细分析)浏览:3266 |
简单的a+b (C语言代码)浏览:546 |
蓝桥杯历届试题-翻硬币 (C++代码)浏览:892 |
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:548 |