
C语言,输出水仙花数,输入一个正整数n,输出所有的n位水仙花数。能帮我看看哪里错了么?
#include<stdio.h>#include<stdlib.h>#include<math.h>intmain(){intn,i,a,b,c,d,e,f,g,sum...
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n,i,a,b,c,d,e,f,g,sum;
scanf("%d",&n);
for(i=(int)pow(10.0,n-1);i<(int)pow(10.0,n)-1;i++){
a=i;
b=n;
sum=0;
while(a){
d=(int)pow(10.0,b-1);
c=a%d;
sum=sum+(int)pow(c*1.0,3);
a=a/10;
b=b-1;
}
if(sum==i){
printf("%d ",i);
}
}
return 0;
} 展开
#include <stdlib.h>
#include <math.h>
int main()
{
int n,i,a,b,c,d,e,f,g,sum;
scanf("%d",&n);
for(i=(int)pow(10.0,n-1);i<(int)pow(10.0,n)-1;i++){
a=i;
b=n;
sum=0;
while(a){
d=(int)pow(10.0,b-1);
c=a%d;
sum=sum+(int)pow(c*1.0,3);
a=a/10;
b=b-1;
}
if(sum==i){
printf("%d ",i);
}
}
return 0;
} 展开
2个回答
展开全部
#include <stdio.h>
#include <math.h>
int main()
{
int n,i,a,c,sum;
scanf("%d",&n);
for(i=(int)pow(10.0,n-1);i<(int)pow(10.0,n);i++){
a=i;
sum=0;
while(a){
c=a%10;
sum=sum+(int)pow(c*1.0,n);
a=a/10;
}
if(sum==i){
printf("%d ",i);
}
}
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询