一道水题。一直出现Output Limit Exceeded的原因是在while循环中没有终止条件的时候会自动判断并报错,写的时候忘记加!=EOF结束标识了。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int main()
{
int num[1000]={0};
int i,j;
// //将100~999以内的水仙花数标识出来
for(i=100;i<=999;i++)
{
int n1,n2,n3;
n1=i%10;
n2=(i/10)%10;
n3=i/100;
if(i==n1*n1*n1+n2*n2*n2+n3*n3*n3)
{
num[i]=1;
}
}
int a,b;
while(scanf("%d %d",&a,&b)!=EOF)
{
int flag=0;
for(i=a;i<=b;i++)
{
if(num[i]==1)
{
flag==1?printf(" "):flag=1;
printf("%d",i);
}
}
if(flag==0)
{
printf("no");
}
printf("\n");
}
}
原文地址:https://www.cnblogs.com/heihuifei/p/10455023.html
时间: 2024-11-12 10:53:35