输出100-999之间的水仙花数(附判断一个三位数是否为水仙花数)

输出100-999之间的水仙花数

#include <stdio.h>

int main()
{
    
    
	int a,b,c,i;
	for (i=100; i<=999; i++)
	{
    
    
		a=i/100;
		b=(i/10)%10;
		c=i%10;
		if(a*a*a+b*b*b+c*c*c==i)
		{
    
    
			printf("水仙花数:%d\n",i);
		}
	}
	return 0;
}

代码运行结果如图;
在这里插入图片描述

附:判断一个三位数是否为水仙花数:

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

int main()
{
    
    
	int a=0;
	int b=0;//个位数
	int c=0;//十位数
	int d=0;//百位数
	int sum=0;
	printf("请输入一个三位数的正整数:");
	scanf("%d",&a);
	if(a>=100&&a<=999)
	{
    
    
		d=a/100;
		c=(a/10)%10;
		b=a%10;
		sum=b*b*b+c*c*c+d*d*d;
		if(sum!=a)
			printf("%d不是一个水仙花数!\n",a);
		else
			printf("%d是一个水仙花数!\n",a);
	}
	else
		printf("输入错误,请重新输入!\n");
	return 0;
}

运行结果如图:
在这里插入图片描述
菜菜的代码,希望能够帮助到你哟!

猜你喜欢

转载自blog.csdn.net/Sconnie/article/details/113444223