c语言多重循环输出水仙花数
时间: 2023-11-20 10:56:07 浏览: 77
以下是C语言多重循环输出水仙花数的例子:
```c
#include <stdio.h>
int main() {
int sum, x, y, z;
for(x=1;x<10;x++) {
for(y=0;y<10;y++) {
for(z=0;z<10;z++) {
sum=100*x+10*y+z;
if(sum==x*x*x+y*y*y+z*z*z) {
printf("%4d",sum);
}
}
}
}
return 0;
}
```
该程序通过三重循环枚举所有三位数,判断是否为水仙花数,如果是则输出。其中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。
相关问题
C语言枚举法输出水仙花数
以下是使用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;
}
```
这段代码使用了一个循环来遍历所有的三位数。对于每个数,它将每一位的立方和累加到变量`sum`中。如果`sum`等于该数本身,则说明该数是水仙花数,将其打印出来。
c语言输出所有的水仙花数
以下是C语言输出所有水仙花数的代码和解释:
```c
#include <stdio.h>
int main() {
// 从100开始进行判断,到999结束
for (int num = 100; num < 1000; num++) {
// 数学方法获取个十百位上的数字
int f = num / 100;
int s = (num - f * 100) / 10 ;
int t = num % 10;
// 判断是否为水仙花数
if (num == f * f * f + s * s * s + t * t * t) {
// 输出水仙花数
printf("水仙花数为 %d \n", num);
}
}
return 0;
}
```
解释:
1. 首先,我们从100开始进行判断,到999结束,因为水仙花数是三位数。
2. 然后,我们使用数学方法获取个十百位上的数字,分别用f、s、t表示。
3. 接着,我们判断是否为水仙花数,如果是,就输出该数。
4. 最后,我们将所有的水仙花数输出。