要求编写程序,判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。
输入格式:
输入在一行中给出一个需要判断的整数 N(100≤N≤999)。
输出格式:
如果N是水仙花数,则在一行中输出Yes
,否则输出No
。如果N不是三位数,则输出Invalid Value.
。
源代码如下
#include<stdio.h>
int main()
{
int num,ge,shi,bai;
ge=num%10;
shi=num%100/10;
bai=num/100;
if(scanf("%d",&num)){}
if(100>num||num>999)
{
printf("Invalid Value.");
}
else if(num==(ge*ge*ge)+(shi*shi*shi)+(bai*bai*bai)&&100<=num<=999)
{
printf("Yes");
}
else
{
printf("No");
}
return 0;
}
为什么我编出来没有yes?