解题思路:
①阶乘
②累加
注意事项:
① 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 人评分
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:679 |
C语言训练-求具有abcd=(ab+cd)2性质的四位数 (C语言代码)浏览:564 |
DNA (C语言代码)浏览:540 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:664 |
剪刀石头布 (C语言代码)浏览:1432 |
青年歌手大奖赛_评委会打分 (C语言代码)浏览:2142 |
小O的乘积 (C语言代码)浏览:1009 |
A+B for Input-Output Practice (I) (C语言代码)浏览:571 |
C二级辅导-公约公倍 (C语言代码)浏览:1310 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:445 |