【数据判断】
问题1:判断水仙花数,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
方法一:
#include<stdio.h> int main(void) { int num,Bit,Ten,Hundred; printf("Input a number:"); scanf("%d",&num); Hundred=num/100; //取百位 Ten=num/10%10; //取十位 Bit=num%10; //取个位 Hundred=Hundred*Hundred*Hundred; Ten=Ten*Ten*Ten; Bit=Bit*Bit*Bit; if(Hundred+Ten+Bit==num) printf("%d is the number of daffodils",num); else printf("%d is not a daffodil number",num); return 0; }
解析:
通过算术运算分别提取num
的百位、十位和个位数字:百位通过num/100
得到,十位通过num/10%10
得到,个位通过num%10
得到。然后,计算这三个数字的立方和,并与原始数num
进行比较。如果立方和等于num
,则输出该数是水仙花数;否则,输出该数不是水仙花数。