怎么编程输出水仙花数

时间:2025-01-25 08:46:35 游戏攻略

确定数的范围 :首先确定要输出的水仙花数的数值范围,例如0到n之间。

遍历寻找:

使用循环遍历这个范围内的所有数。

分离数字:

对于每个数,分离出它的每一位数字。

计算立方和:

计算每一位数字的n次方,并将其相加。

判断是否为水仙花数:

如果计算出的立方和等于原数,则该数为水仙花数,并将其输出。

```c

include

int main() {

int num, digit, sum, temp;

printf("请输入一个整数n:\n");

scanf("%d", &num);

printf("水仙花数为:\n");

for (temp = 0; temp <= num; temp++) {

sum = 0;

digit = temp % 10;

sum += digit * digit * digit;

temp /= 10;

if (temp == 0) { // 确保是三位数

printf("%d ", sum);

}

}

return 0;

}

```

代码解释:

输入部分

`printf("请输入一个整数n:\n");`:提示用户输入一个整数。

`scanf("%d", &num);`:读取用户输入的整数。

循环部分

`for (temp = 0; temp <= num; temp++)`:从0遍历到用户输入的整数。

`sum = 0;`:初始化立方和为0。

`digit = temp % 10;`:获取当前数的最后一位数字。

`sum += digit * digit * digit;`:计算该位数字的立方并加到总和中。

`temp /= 10;`:去掉当前数的最后一位数字。

`if (temp == 0) {`:确保是三位数才输出。

输出部分

`printf("%d ", sum);`:输出每个三位数的立方和。

这个程序会输出从0到用户输入的整数之间的所有水仙花数。