杭电acm 2010题。求大神帮我看看错哪里了。
#include<stdio.h>main(){intm,n,i,ge,shi,bai,k=0;while(scanf("%d%d",&m,&n)!=EOF){for(i...
#include <stdio.h>
main()
{
int m,n,i,ge,shi,bai,k=0;
while(scanf("%d%d",&m,&n)!=EOF)
{
for(i=m;i<=n;i++)
{ ge=i%10;
shi=i/10%10;
bai=i/100;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
{ printf("%d ",i) ;
k++;
}
}
if(k==0)
printf("no\n");
else
printf("\n") ;
}
} 展开
main()
{
int m,n,i,ge,shi,bai,k=0;
while(scanf("%d%d",&m,&n)!=EOF)
{
for(i=m;i<=n;i++)
{ ge=i%10;
shi=i/10%10;
bai=i/100;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
{ printf("%d ",i) ;
k++;
}
}
if(k==0)
printf("no\n");
else
printf("\n") ;
}
} 展开
3个回答
展开全部
#include <stdio.h>
int main()
{
int m,n,i,ge,shi,bai,k;
while(scanf("%d%d",&m,&n)!=EOF)
{
k=0; //每次都要初始化为0
for(i=m;i<=n;i++)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
{
if(k==0) //每组数据的每个数之间用空格分隔,所以你的输出格式不对
printf("%d",i) ;
else
printf(" %d",i) ;
k++;
}
}
if(k==0)
printf("no\n");
else
printf("\n") ;
}
}
int main()
{
int m,n,i,ge,shi,bai,k;
while(scanf("%d%d",&m,&n)!=EOF)
{
k=0; //每次都要初始化为0
for(i=m;i<=n;i++)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
{
if(k==0) //每组数据的每个数之间用空格分隔,所以你的输出格式不对
printf("%d",i) ;
else
printf(" %d",i) ;
k++;
}
}
if(k==0)
printf("no\n");
else
printf("\n") ;
}
}
展开全部
过年好!很高兴为您解答!
首先k的初值应付在循环里;其次printf("%d ",i) ;这里有格式问题!最后建议您加一个return 0;(在acm里加上比较好)
Output
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,【之间】用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no;
每个测试实例的输出占一行。
#include <stdio.h>
main()
{
int m,n,i,ge,shi,bai,k;
while(scanf("%d%d",&m,&n)!=EOF)
{
k=0;
for(i=m;i<=n;i++)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
{
if(k)printf(" %d",i);
else printf("%d",i);
k++;
}
}
if(k==0)
printf("no\n");
else
printf("\n") ;
}
return 0;
}
这个可以AC了!
希望我的解答对您有所帮助
首先k的初值应付在循环里;其次printf("%d ",i) ;这里有格式问题!最后建议您加一个return 0;(在acm里加上比较好)
Output
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,【之间】用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no;
每个测试实例的输出占一行。
#include <stdio.h>
main()
{
int m,n,i,ge,shi,bai,k;
while(scanf("%d%d",&m,&n)!=EOF)
{
k=0;
for(i=m;i<=n;i++)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
{
if(k)printf(" %d",i);
else printf("%d",i);
k++;
}
}
if(k==0)
printf("no\n");
else
printf("\n") ;
}
return 0;
}
这个可以AC了!
希望我的解答对您有所帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一些小问题改一下就过了
#include <stdio.h>
main()
{
int m,n,i,ge,shi,bai;
while(scanf("%d%d",&m,&n)!=EOF)
{
int k=0;//注意初始化
for(i=m;i<=n;i++)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
{
if(k)printf(" %d",i);
else printf("%d",i);//注意格式控制,否则会PE的
k++;
}
}
if(k==0)
printf("no\n");
else
printf("\n") ;
}
return 0;//int main()需要一个返回值
}
#include <stdio.h>
main()
{
int m,n,i,ge,shi,bai;
while(scanf("%d%d",&m,&n)!=EOF)
{
int k=0;//注意初始化
for(i=m;i<=n;i++)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
{
if(k)printf(" %d",i);
else printf("%d",i);//注意格式控制,否则会PE的
k++;
}
}
if(k==0)
printf("no\n");
else
printf("\n") ;
}
return 0;//int main()需要一个返回值
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询