你在输出最后一个数字后面还有一个空格printf("%d ",a[i]);
你把上面%d后面的空格改成# 你就知道了
#include "stdio.h"
int sxh(int n){
int i,sum=0;
while(n){
i=n%10;
n=n/10;
sum+=i*i*i;
}
return sum;
}
int main()
{ int m,n;
while(scanf("%d%d",&m,&n)!=EOF){
if(m>=100&&m<=n&&n<=999){
int i,j=0,a[50];
int f=1;
for(i=m;i<=n;i++)
if(sxh(i)==i){
a[j++]=i;
f=0;
}
if(f){
printf("no\n");
}
else {
for(i=0;i
//下面修改过
if(i==j-1)
printf("%d\n",a[i]);
else printf("%d ",a[i]);
} }} }
return 0;
}