解题思路:
题目我们可以分成3部分看,1.各个位上数字的求解 2.各个位上数阶乘的求和 3.输出符合要求的数据
我建议采用函数调用即将阶乘的求解写成一个函数,有助于程序的模块化与可读性;
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int fn(int x);
int a,b,s=0,c;
for(a=1;a<=100000;a++)
{
b=a;注意a值的保存
while(a>0)
{
c=a%10;
s=s+fn(c);函数调用
a/=10;
}
if(b==s)判断是否符合题目要求
{
printf("%d ",b);
}
}
return 0;
}
int fn(int x)阶乘函数声明
{
int d,e=1;
for(d=1;d<=x;d++)
{
e=e*d;
}
return e;
}
0.0分
3 人评分
奖学金 (C++代码)浏览:2008 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2092 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:633 |
C语言训练-亲密数 (C语言代码)浏览:682 |
C二级辅导-温度转换 (C语言代码)浏览:731 |
C二级辅导-分段函数 (C语言代码)浏览:601 |
C二级辅导-阶乘数列 (C语言代码)浏览:520 |
Quadratic Equation (C语言代码)浏览:988 |
C语言训练-大、小写问题 (C语言代码)浏览:681 |
小O的乘积 (C++代码)浏览:754 |
Sapphire 2022-02-19 16:31:45 |
确实,我也不知道问题出在哪里