输入一个整数T,表示接下来输入T组数据。输入M、N,在下一行输出【M,N】内所有的水仙花数,结束后换行。如果没有则输出-1。
#include <stdio.h>
int main(void)
{
int a, b, c, i;
int T,m,n;
scanf_s("%d",&T);
while(T--)
{
scanf_s("%d%d",&m,&n);
printf("-1\r");
for (i = m; i<=n; i++)
{
a = i / 100;
b = i / 10 % 10;
c = i % 10;
if (i == a*a*a + b*b*b + c*c*c)
{
printf("%-5d", i);
}
}
printf("\n");
}
getchar();
getchar();
return 0;
}
以上是我的代码,-1的输出有些投机取巧。有大佬指点一下更符合逻辑的写法。