C语言——水仙花数字

 

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

第一部分:

#include<stdio.h>
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<stdio.h>
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 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张謹礧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值