C语言中循环结构非常经典的例题,求水仙花数。首先确定什么是水仙花数,即一个3位数,其每位数字的立方和等于该数字。
分析该题:1、首先是3位数,所以这个数的取值范围为100~1000,左闭右开。
2、是每个数字的立方,所以要分离出这三位数中的三个数。
思路:1、既然要求目标数字,已经确定好了范围,那应该使用for循环语句
2、分离各个位的数字应该利用除法求商、求余来解决(使用到的符号 \,%)
上代码!
#include <stdio.h>
main()
{
int a=0,i=0,j=0,k=0;//a为要求的数字,i是百位数,j是十位数,k是个位数
printf("水仙花数是:");
for(a=100;a<1000;a++)
{
i=a/100;
j=a/10%10;
k=a%10;
if(i*i*i+j*j*j+k*k*k==a)
printf("%4d",a);
}
printf("\n");
}
运行结果:

如果有老铁有简单的方法可以联系我,一起交流下~!
C语言实现:寻找水仙花数的循环逻辑详解
本文详细解析了如何用C语言通过for循环结构找出100至1000之间的水仙花数,涉及数字分解、立方运算及条件判断。通过示例代码展示了如何分离三位数的百位、十位和个位,验证其立方和是否等于原数。
682

被折叠的 条评论
为什么被折叠?



