用c语言打印500以内的“水仙花数”。“水仙花数”是一个三位数,其各位数立方和等于该数本身。
时间: 2023-10-27 11:09:15 浏览: 105
好的,让我来帮您解答这个问题。以下是C语言代码:
```
#include <stdio.h>
int main() {
int num, digit, sum;
for (num = 100; num < 500; num++) {
digit = num % 10;
sum = digit * digit * digit;
digit = num / 10 % 10;
sum += digit * digit * digit;
digit = num / 100;
sum += digit * digit * digit;
if (sum == num) {
printf("%d ", num);
}
}
return 0;
}
```
这段代码用循环从100到500依次判断每个三位数是否为水仙花数,如果是,则输出该数。
相关问题
利用c语言打印500以内的“水仙花数”。“水仙花数”是一个三位数,其各位数立方和等于该数本身
#include <stdio.h>
int main() {
int i, j, k, num;
for (num = 100; num <= 500; num++) {
i = num / 100; // 百位数
j = (num / 10) % 10; // 十位数
k = num % 10; // 个位数
if (num == i*i*i + j*j*j + k*k*k) {
printf("%d\n", num);
}
}
return 0;
}
打印所有水仙花数。所谓水仙花是指一个三位数,其各位数字的立方和等于该数,使用c语言
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。你可以使用循环语句来遍历所有的三位数,并判断是否满足水仙花数的条件。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int num, digit, sum;
printf("所有水仙花数:\n");
for (num = 100; num <= 999; num++) {
sum = 0;
int temp = num;
while (temp > 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == num) {
printf("%d\n", num);
}
}
return 0;
}
```
在这个代码中,我们使用一个循环来遍历从100到999的所有三位数。对于每个数字,我们将其拆分为个位、十位和百位,分别计算每位数字的立方,并累加到`sum`中。
如果在循环结束后,`sum`的值等于当前的数字`num`,则说明该数字是一个水仙花数,我们将其打印出来。
运行以上代码,你将得到所有的水仙花数。