关于杭电acm水仙花数,求解,帮忙看看哪里出错误了。 答案显示wrong answer,应该是格式问题。
#include<stdio.h>intmain(){inta,b,c,d,e,f,m,n,i;charz=8;while(scanf("%d%d",&m,&n)!=EO...
#include<stdio.h>
int main()
{
int a,b,c,d,e,f,m,n,i;
char z=8;
while(scanf("%d%d",&m,&n)!=EOF)
{
if(m>n)
{
e=n,n=m,m=e;
}
for(f=m+1,i=0;f<n;f++)
{
a=f/100;
b=(f%100)/10;
c=((f%100)%10)/1;
if(f==a*a*a+b*b*b+c*c*c)
{
printf("%d ",f);
i++;
}
}
if(i==0)
{
printf("no\n");
}
if(i!=0)
{
printf("%c",z);
printf("\n");
}
}
return 0;
} 展开
int main()
{
int a,b,c,d,e,f,m,n,i;
char z=8;
while(scanf("%d%d",&m,&n)!=EOF)
{
if(m>n)
{
e=n,n=m,m=e;
}
for(f=m+1,i=0;f<n;f++)
{
a=f/100;
b=(f%100)/10;
c=((f%100)%10)/1;
if(f==a*a*a+b*b*b+c*c*c)
{
printf("%d ",f);
i++;
}
}
if(i==0)
{
printf("no\n");
}
if(i!=0)
{
printf("%c",z);
printf("\n");
}
}
return 0;
} 展开
2个回答
展开全部
#include<stdio.h>
int main()
{
int a,b,c,d,e,f,m,n,i;
char z=8;
while(scanf("%d%d",&m,&n)!=EOF)
{
if(m>n)
{
e=n,n=m,m=e;
}
for(f=m,i=0;f<=n;f++)
{
a=f/100;
b=(f%100)/10;
c=((f%100)%10)/1;
if(f==a*a*a+b*b*b+c*c*c)
{
if(i) printf(" ");
printf("%d",f);
i++;
}
}
if(i==0)
{
printf("no\n");
}
if(i!=0)
{
printf("\n");
}
}
return 0;
}
int main()
{
int a,b,c,d,e,f,m,n,i;
char z=8;
while(scanf("%d%d",&m,&n)!=EOF)
{
if(m>n)
{
e=n,n=m,m=e;
}
for(f=m,i=0;f<=n;f++)
{
a=f/100;
b=(f%100)/10;
c=((f%100)%10)/1;
if(f==a*a*a+b*b*b+c*c*c)
{
if(i) printf(" ");
printf("%d",f);
i++;
}
}
if(i==0)
{
printf("no\n");
}
if(i!=0)
{
printf("\n");
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//代码已AC
#include<stdio.h>
int main()
{
int a, b, d, c, f, m, n, i;
char z = 8;
while(scanf("%d%d", &m, &n) != EOF)
{
// if(m > n) //100<=m<=n<=999 ,可以不添加比较
// {
// e = n, n = m, m = e;
// }
for(i = d = 0, f = m, i = 0; f <= n; f++) //初始化变量 i=d=0 ;
{
//输出的水仙花数必须大于等于m,并且小于等于n ,所以f=m,f<=n
a = f / 100;
b = (f % 100) / 10;
c = f % 10; //个位数,直接对10求余即可
if(f == a * a * a + b * b * b + c * c * c)
{
if(d == 0) //该if else 处理多个输出时,中间的空格
{
printf("%d", f);
d++;
}
else
printf(" %d", f);
i = 1;
}
}
if(i == 0)
printf("no");
printf("\n");
}
return 0;
}
//祝你学习进步,更上一层楼!(*^__^*)
#include<stdio.h>
int main()
{
int a, b, d, c, f, m, n, i;
char z = 8;
while(scanf("%d%d", &m, &n) != EOF)
{
// if(m > n) //100<=m<=n<=999 ,可以不添加比较
// {
// e = n, n = m, m = e;
// }
for(i = d = 0, f = m, i = 0; f <= n; f++) //初始化变量 i=d=0 ;
{
//输出的水仙花数必须大于等于m,并且小于等于n ,所以f=m,f<=n
a = f / 100;
b = (f % 100) / 10;
c = f % 10; //个位数,直接对10求余即可
if(f == a * a * a + b * b * b + c * c * c)
{
if(d == 0) //该if else 处理多个输出时,中间的空格
{
printf("%d", f);
d++;
}
else
printf(" %d", f);
i = 1;
}
}
if(i == 0)
printf("no");
printf("\n");
}
return 0;
}
//祝你学习进步,更上一层楼!(*^__^*)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询