1. 程式人生 > >5-6 使用函式輸出水仙花數

5-6 使用函式輸出水仙花數

//使用函式輸出水仙花數

#include<stdio.h>
#include<math.h>

int is(int number);
int main(int argc,char const *argv[])
{
	int m,n,i;
	printf("輸入兩個正整數:");
	
	while(1) 
	{
		scanf("%d%d",&m,&n);
		if(m>=1&&m<=1000&&n>=1&&n<=1000&&m<=n)
			break;
		printf("請重新輸入:");
	}
	
	printf("%d和%d之間的水仙花數為:\n",m,n);
	for(i=m;i<=n;i++)
	{
		if(is(i))
			printf("%d ",i);
	}
	printf("\n");
	
	return 0;
} 

int is(int number)
{
	int digit;
	int sum=0;
	int ret=0;
	int n=number;
	while(n)
	{
		digit=n%10;
		sum+=pow(digit,3);
		n/=10;
	}
	if(sum==number)
		ret=1;
		
	return ret;
}