編程小白碰到C語言水仙花數

題目要求

編寫程序,判斷一個整數是否爲水仙花數,所謂的水仙花數是指一個三位數,其各個爲上的數字立方和等於其本身

例如: 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;
 } 

測試結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章