杭电 acm 2010 水仙花,大侠帮忙看看,提交提示Compilation Error
#include<stdio.h>intmain(){intm,n;intflag=0;while(scanf("%d%d",&m,&n)!=EOF){inta,b,c;...
#include<stdio.h>
int main()
{
int m,n;
int flag=0;
while(scanf("%d%d",&m,&n)!=EOF)
{
int a,b,c;
for(int i=m;i<=n;i++)
{
a=i/100;
b=(i%100)/10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
{
printf("%d ",i);
flag=1;
}
}
if(!flag)
printf("no");
printf("\n");
}
return 0;
} 展开
int main()
{
int m,n;
int flag=0;
while(scanf("%d%d",&m,&n)!=EOF)
{
int a,b,c;
for(int i=m;i<=n;i++)
{
a=i/100;
b=(i%100)/10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
{
printf("%d ",i);
flag=1;
}
}
if(!flag)
printf("no");
printf("\n");
}
return 0;
} 展开
4个回答
展开全部
注意:
1、flag作为标记时,每次输入数据都要初始化,你用原来的代码,把测试数据颠倒一下顺序,先输入300 380,再输入100 120,就很明显出问题了。
2、这道题对输出格式要求比较严,它要求再输出数据时,后面不能有空格,拿测试数据来说(空格有下划线_表示), 370_371 ,而用你的代码输出的是 370_371_
这在做题时不常遇到,但还是提醒你以后就这么写,看******
#include<stdio.h>
int main()
{
int m,n;
while(scanf("%d%d",&m,&n)!=EOF)
{
int flag=0;
int a,b,c;
for(int i=m;i<=n;i++)
{
a=i/100;
b=(i%100)/10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
{
if(flag==0)printf("%d",i); *******
else printf(" %d",i);
flag=1;
}
}
if(!flag)
printf("no");
printf("\n");
}
return 0;
}
希望给赞同 ^_^
1、flag作为标记时,每次输入数据都要初始化,你用原来的代码,把测试数据颠倒一下顺序,先输入300 380,再输入100 120,就很明显出问题了。
2、这道题对输出格式要求比较严,它要求再输出数据时,后面不能有空格,拿测试数据来说(空格有下划线_表示), 370_371 ,而用你的代码输出的是 370_371_
这在做题时不常遇到,但还是提醒你以后就这么写,看******
#include<stdio.h>
int main()
{
int m,n;
while(scanf("%d%d",&m,&n)!=EOF)
{
int flag=0;
int a,b,c;
for(int i=m;i<=n;i++)
{
a=i/100;
b=(i%100)/10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
{
if(flag==0)printf("%d",i); *******
else printf(" %d",i);
flag=1;
}
}
if(!flag)
printf("no");
printf("\n");
}
return 0;
}
希望给赞同 ^_^
展开全部
你提交的时候不要选C,C不允许有for(int i;;)这样的语法。(选C++或者G++)
另外
1.如楼上flag每次循环重置
2.printf("%d ",i);这句话会导致最后多出一个空格,解决办法自己想,这是经常要处理的事情
另外
1.如楼上flag每次循环重置
2.printf("%d ",i);这句话会导致最后多出一个空格,解决办法自己想,这是经常要处理的事情
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a,b,c;
flag=0; // 每次要重置
flag=0; // 每次要重置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
main()
{
int m,n,i,w,a,b,c,j,s,d;
while(scanf("%d %d",&n,&m)!=EOF)
{
d=0;
j=1;
if(m>n)
{
w=m;
m=n;
n=w;
}
else ;
for(i=m;i<=n;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
s=a*a*a+b*b*b+c*c*c;
if(i==s)
{
if(d!=0)
printf(" ");
printf("%d",i);
d=d+1;
j=j+1;
}
}
if(j==1)
printf("no\n");
else
printf("\n");
}
}
main()
{
int m,n,i,w,a,b,c,j,s,d;
while(scanf("%d %d",&n,&m)!=EOF)
{
d=0;
j=1;
if(m>n)
{
w=m;
m=n;
n=w;
}
else ;
for(i=m;i<=n;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
s=a*a*a+b*b*b+c*c*c;
if(i==s)
{
if(d!=0)
printf(" ");
printf("%d",i);
d=d+1;
j=j+1;
}
}
if(j==1)
printf("no\n");
else
printf("\n");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询