满意答案
svitn652
2013.08.23
采纳率:48% 等级:11
已帮助:6465人
#include"stdio.h"
#include"math.h"
main()
{
float b[20]=,m,p=0,c;//0的阶乘是1.。
int i,j,k,a[100],stop,n;
scanf("%d",&n);//最好用%d
//{这个大括号加得很奇怪。。。
//不建议下面注释掉的做法,因为每次开始都要调用一次pow函数,
//会增加程序耗费时间,虽然对现在的机器似乎没关系。
//for(i=pow(10,n-1)+1;i
i=pow(10,n-1)+1;
stop=pow(10,n);
for(;i
{
m=0;//这里要恢复为0,否则就是累计了
for(j=1;j<=n;j++)
{
c=pow(10,j-1);
k=i/c;
a[j]=k%10;
m=m+b[a[j]];
}
if(i==m)
{
p=1;
printf("%d\n",i);//最好%d
}
}
if(p==0)
printf("No output\n");
}
00分享举报