c语言如何用循环结构输出三位数区间内的所有水仙花数并且只输出一个水仙花数
时间: 2024-11-25 18:22:17 浏览: 0
所有的水仙花数 c语言.zip
水仙花数是指一个三位数(如153),其各位数字立方之和等于该数本身。例如,1^3 + 5^3 + 3^3 = 153。在C语言中,我们可以使用嵌套循环结构遍历每一位,检查是否满足条件。
以下是一个简单的C程序,用于找出并打印出三位数范围内的水仙花数:
```c
#include <stdio.h>
int main() {
int start = 100; // 开始的三位数,最小的水仙花数是153
int end = 999; // 结束的三位数
for (int num = start; num <= end; ++num) {
int hundreds = num / 100; // 百位数
int tens = (num % 100) / 10; // 十位数
int units = num % 10; // 个位数
if (hundreds * hundreds * hundreds + tens * tens * tens + units * units == num) {
printf("%d 是水仙花数。\n", num);
}
}
return 0;
}
```
这段代码首先定义了一个范围从`start`到`end`的循环,然后对每个数进行拆分,计算各个位上的数字立方后相加,如果结果等于原数,则打印出来。由于水仙花数只有一个,所以这个程序只会输出一个符合条件的数。
阅读全文