题目
本题是谭浩强《C程序设计课后习题》题5.8。
题目:
输出所有的“水仙花数”, 所谓“水仙花数”是指一个3位数, 其各位数字
立方和等于该数本身。例如, 153是水仙花数, 因为153 = 1 + 5 + 3。
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj
一、解题思路
思路:
1.首先我们需要使用for循环进行遍历,100-999
2.然后我们需要求出该数每一位的数:
个位:i%10
十位:i/10%10
百位:i/100
3.进行if判断,相等的话就输出是水仙花数
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
int main() {
int a, b, c;
int i;
for (i = 100; i <= 999; i++)
{
a = i % 10;
b = i / 10 % 10;
c = i / 100;
if (a * a * a + b * b * b + c * c * c == i)
printf("%d是水仙花数,因为%d=%d+%d+%d\n",i, i, a, b, c);
}
return 0;
}
三、执行结果
输出:
153是水仙花数,因为153=3+5+1
370是水仙花数,因为370=0+7+3
371是水仙花数,因为371=1+7+3
407是水仙花数,因为407=7+0+4