#include <stdio.h>#include <math.h>int main() { int num, digit, sum, i; for (i = 100; i <= 999; i++) { num = i; sum = 0; while (num > 0) { digit = num % 10; sum += pow(digit, 3); num /= 10; } if (sum == i) { printf("%d\n", i); } } return 0;}这个是怎么运行的
时间: 2024-02-14 22:17:43 浏览: 60
#include <stdio.h>
4星 · 用户满意度95%
这是一个 C 语言程序,用来输出所有的三位水仙花数。程序的运行过程如下:
1. 首先定义变量 `num`、`digit`、`sum` 和 `i`,它们都是整数类型。其中 `num` 代表当前正在检查的数字,`digit` 代表当前正在检查的数字的个位数,`sum` 代表数字的每个位数的立方和,`i` 代表要检查的数字的范围,从 100 到 999。
2. 然后使用 `for` 循环遍历所有的三位数。在每次循环中,将当前数字赋值给 `num`,将 `sum` 设为 0。
3. 使用 `while` 循环来检查当前数字的每个位数的立方和。在每次循环中,将 `num` 的个位数赋值给 `digit`,将 `digit` 的立方加到 `sum` 中,然后将 `num` 除以 10,以便检查下一个位数。
4. 如果 `sum` 等于原始数字 `i`,则将 `i` 打印出来,因为它是一个水仙花数。
5. 循环结束。
6. 程序返回 0,表示运行成功结束。
阅读全文