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;
}

猜你喜欢

转载自blog.csdn.net/kirisame9/article/details/77769559