實驗5-9 使用函數輸出水仙花數 (20分)

實驗5-9 使用函數輸出水仙花數 (20分)

#include <stdio.h>

int narcissistic( int number );
void PrintN( int m, int n );

int main()
{
    int m, n;

    scanf("%d %d", &m, &n);
    if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);
    PrintN(m, n);
    if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n);

    return 0;
}

/* 你的代碼將被嵌在這裏 */
int narcissistic( int number )//判斷number是否爲水仙花數 
{
	int x; //x分離出的每位數字
	int count = 0; //count統計數的位數
	int t; //等於number的臨時變量
	int sum = 0;//每個數字的冪之和
	int pow;  //冪
	t = number;
	while(t!=0)
	{
		count++;//計算number的位數 
		t/=10;
	}
	t=number;
	for(int i=0;i<count;i++)
	{
		x=t%10;
		pow=1;
		for(int j=0;j<count;j++)//求各位數的冪次 
		{
			pow=pow*x;
		}
		sum+=pow;
		t/=10; 
	}
	if(sum==number)
	{
		return 1;
	} 
	else{
		return 0;
	}
}
void PrintN( int m, int n )
{
	for(int i=m+1;i<n;i++)
	{
		if(narcissistic(i)==1)
		{
			printf("%d\n",i);
		}
	}
} 

 

發佈了125 篇原創文章 · 獲贊 2 · 訪問量 3988
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章