在C语言中,可以通过编写一个简单的程序来找出所有的三位水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。以下是一个示例代码,用于找出并打印所有的三位水仙花数:
```c
include include // 函数用于判断一个数是否为水仙花数 int isArmstrong(int num) { int originalNum, remainder, result = 0, n = 0; originalNum = num; // 计算数字的位数 while (originalNum != 0) { originalNum /= 10; ++n; } originalNum = num; // 计算每个位上的立方和 while (originalNum != 0) { remainder = originalNum % 10; result += pow(remainder, n); originalNum /= 10; } // 判断是否为水仙花数 if (result == num) return 1; else return 0; } int main() { int i; printf("三位水仙花数有: "); // 遍历所有的三位数 for (i = 100; i <= 999; i++) { if (isArmstrong(i)) { printf("%d ", i); } } printf("\n"); return 0; } ``` 代码解释: 该函数接受一个整数`num`,并返回一个布尔值,指示该数是否为水仙花数。 首先,计算`num`的位数`n`。 然后,计算`num`的每一位的立方和。 最后,比较立方和与原始数字是否相等,如果相等则返回1,否则返回0。 在`main`函数中,使用一个`for`循环遍历所有的三位数(从100到999)。 对于每个数,调用`isArmstrong`函数判断其是否为水仙花数。 如果是水仙花数,则打印该数。 编译和运行: 将上述代码保存到一个文件中,例如`armstrong.c`。 使用C编译器编译该文件,例如使用`gcc`: ```sh gcc -o armstrong armstrong.c -lm ``` 运行生成的可执行文件: ```sh ./armstrong ``` 运行程序后,将输出所有的三位水仙花数。isArmstrong函数
main函数