C语言——水仙花数字

 

当对这段代码进行分块分析时,可以将其分为以下几个部分:

第一部分:

#include
int main()
{
    int i,x,y,z;

这部分代码包含了头文件stdio.h的引入以及main()函数的定义。其中定义了四个整型变量ixyzi用于循环迭代,xyz用于存储数字i的个位、十位和百位上的数字。

第二部分:

    for(i=100;i<1000;i++)
    {
        x=i%10;
        y=i/10%10;
        z=i/100%10;

这部分代码使用一个for循环从100到999遍历所有的三位数。在循环中,通过取余运算i%10获取数字i的个位数,通过整除运算i/10%10获取其十位数,通过整除运算i/100%10获取其百位数。分别将这三个位数的值赋给变量xyz

第三部分:

        if(i==(x*x*x+y*y*y+z*z*z))
        printf("%d\n",i);
    }
    return 0;
}

这部分代码使用条件判断 if(i==(x*x*x+y*y*y+z*z*z)) 来判断数字i是否满足水仙花数字的条件:每个数位上的数字的3次幂之和等于它本身。如果满足条件,则使用printf函数将该数字打印出来。

最后,return 0;表示程序正常结束。

综上所述,该程序通过循环和条件判断找出100到999范围内的水仙花数字,并将其打印出来。

//水仙花数字
//每个数位上的数字的 3次幂之和等于它本身
//列如:153=1^3+5^3+3^3
#include
int main()
{
	int i,x,y,z;
	for(i=100;i<1000;i++)
	{
		x=i%10;
		y=i/10%10;
		z=i/100%10;
		if(i==(x*x*x+y*y*y+z*z*z))
		printf("%d\n",i);
	}
	return 0;
}
//输出100-1000以内的水仙花数字 
//输出结果:153,370,371,407 

C语言——水仙花数字_第1张图片

你可能感兴趣的:(c语言基础题目训练,c语言,算法,开发语言)