用C语言代码实现输出所有水仙花数
时间: 2024-06-10 12:07:08 浏览: 117
以下是用C语言代码实现输出所有水仙花数的程序:
#include <stdio.h>
int main() {
int num, digit, sum;
for(num=100;num<=999;num++){
sum = 0;
for(digit=num;digit>0;digit/=10){
sum += (digit%10)*(digit%10)*(digit%10);
}
if(sum == num){
printf("%d ",num);
}
}
return 0;
}
该程序可以输出所有的三位数水仙花数,即153、370、371、407。
相关问题
用c语言编程,输出所有水仙花数的设计思路
要输出所有水仙花数,我们需要先了解什么是水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1³+5³+3³=153。
因此,我们可以使用循环语句来遍历所有三位数,然后判断每个数是否为水仙花数。具体实现如下:
```c
#include <stdio.h>
int main() {
int i, num, digit, sum;
printf("所有的水仙花数为:\n");
for (i = 100; i <= 999; i++) {
num = i;
sum = 0;
while (num > 0) {
digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if (sum == i) {
printf("%d\n", i);
}
}
return 0;
}
```
在上面的代码中,我们使用了一个 for 循环来遍历所有三位数。在循环中,我们将当前的数存储在变量 num 中,并使用一个 while 循环来计算该数的各位数字的立方和。如果计算结果等于该数本身,那么就说明该数是一个水仙花数,我们就可以将其输出。
希望这个设计思路能够帮助你输出所有的水仙花数。
c语言编写程序实现输出所有水仙花数
可以回答这个问题。以下是C语言编写程序实现输出所有水仙花数的代码:
#include <stdio.h>
int main() {
int i, j, k, n;
for (n = 100; n < 1000; n++) {
i = n / 100;
j = (n / 10) % 10;
k = n % 10;
if (n == i * i * i + j * j * j + k * k * k) {
printf("%d\n", n);
}
}
return 0;
}
阅读全文