问题描述:
编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数,若输入N不符合要求则输出"Invalid Value!",若该区间内不存在水仙花数则输出"No Answer!",水仙花数是指:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个书为水仙花数。
输入形式:输入一个正整数N。
输出形式:输出100到N之间的所有水仙花数,每个数以回车结束。
#include <stdio.h>
int main()
{
int N, g, s, b, i, j = 0;
scanf_s("%d", &N);
if (N < 100 || N>999)
{
printf("IV");
}
else
{
for (i = 100; i <= N; i++)
{
g = i % 10;
s = i / 10 % 10;
b = i / 100;
if ((g*g*g + s*s*s + b*b*b) == i)
{
printf("%d\n", i);
j = j + 1;
}
}
if (j == 0)
{
printf("None\n");
}
}
system("pause");
return 0;
}