**题目类型:**判断一个三位数是否是水仙花数
**题目来源:**作者 李耀芳 单位 天津城建大学
题目描述:
输入一个整数,判断它是不是水仙花数,水仙花数是一个三位整数,其每位数字的立方和等于其本身,
例如,153是一个水仙花数,153=1×1×1+5×5×5+3×3×3
输入格式:
输入一个整数,代表判断的数字
输出格式:
如果该数是水仙花数,则输出:yes
如果该数不是水仙花数,则输出:no
如果该数不是一个三位数,输出:error
输入样例1:
153
输出样例1:
yes
输入样例2:
258
输出样例2:
no
输入样例3:
15
输出样例3:
error
**题目分析:**本题关键在于,对于条件的选择分为两步,首先,是否为三位数?然后再进行是否为水仙花数的选择判断。故,在第一个if判断中需要再嵌套一个if else语句
代码样例:
#include <stdio.h>
int main()
{
int a,b,c,d;
scanf ("%d",&d);
a=d/100;
b=d%100/10;
c=d%10%10;
if ((d/100)>0)//第一次选择语句,判断是否为三位数
{
if (d==a*a*a+b*b*b+c*c*c)//嵌套在第一次选择里面,输出为水仙花数情况
{
printf ("yes");
}
else if (d!=a*a*a+b*b*b+c*c*c)//嵌套在第一次选择里面,输出不为水仙花数情况
{
printf ("no");
}
}
else//第一次选择语句,输出不为三位数情况
printf ("error");
return 0;
}
结尾:“高高山顶立,深深海底行”,代码的书写,不仅需要有知识的储备还要有脚踏实地的练习。
让我们向着美好的明天一起努力吧!