題目要求
編寫程序,判斷一個整數是否爲水仙花數,所謂的水仙花數是指一個三位數,其各個爲上的數字立方和等於其本身
例如: 153 = 1*1*1 + 5*5*5 + 3*3*3
思路分析
- 首先從鍵盤輸入三位數的整數
- 然後獲取到這個三位數的各個爲上的數字 使用/和%
- 將得到的各個數字(百位,十位,個位)立方,求和,來判斷是否和原來的數相等
擼寫代碼
#include<stdio.h>
int main()
{
int num,sum;
int num1,num2,num3;
printf("請輸入一個三位數的整數:");
scanf("%d",&num);
num1 = num / 100; //百位數
num2 = num % 100 / 10; //十位數
num3 = num % (num1*100+num2*10); //個位數
sum = num1*num1*num1 + num2*num2*num2 + num3*num3*num3;
if(num==sum)
{
printf("\n%d這個數是水仙花數!",num);
}
else
{
printf("\n%d這個數不是水仙花數!",num);
}
printf("\n百位數=%d 十位數=%d 個位數=%d",num1,num2,num3);
printf("\n各個爲數上的立方和爲%d!",sum);
return 0;
}