c语言打印所有的水仙花数
时间: 2023-06-03 07:07:20 浏览: 62
可以使用以下代码打印出所有的水仙花数:
```
#include <stdio.h>
int main() {
int num, digit, sum;
for (int i = 100; i <= 999; i++) {
num = i;
sum = 0;
while (num > 0) {
digit = num % 10;
num /= 10;
sum += digit * digit * digit;
}
if (sum == i) {
printf("%d ", i);
}
}
return 0;
}
```
相关问题
c语言打印所有水仙花数
以下是两种C语言打印所有水仙花数的例子:
1. 使用for循环和if语句判断是否满足水仙花数的特点
```c
#include<stdio.h>
int main() {
int bai, shi, ge;
int i, j=0;
printf("水仙花数有:\n");
for (i = 100;i < 1000;i++) {
bai = i / 100; //取百位数字
shi = (i % 100) / 10;//取十位数字
ge = i % 10; //取个位数字
if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge)//判断是否满足水仙花数的特点
{
printf(" %d ", i);
j++;
if (j % 5 == 0)//每五个数字一行
printf("\n");
}
}
return 0;
}
```
2. 使用for循环和数学库中的pow函数计算立方和
```c
#include<stdio.h>
#include<math.h>
int main() {
int i,sum;
printf("水仙花数有:");
for(i=100;i<1000;i++) {
sum=(i/100)*(i/100)*(i/100)+(i%100/10)*(i%100/10)*(i%100/10)+(i%100%10)*(i%100%10)*(i%100%10);
if(i==sum) {
printf("%d\n",sum);
}
}
return 0;
}
```
C语言打印输出水仙花数
以下是C语言打印输出水仙花数的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main(){
int a = 0; //百位
int b = 0; //十位
int c = 0; //个位
for(int i = 100; i < 1000; i++){
a = i / 100;
b = i / 10 % 10;
c = i % 10;
if(i == a*a*a + b*b*b + c*c*c){
printf("%d\n", i);
}
}
return 0;
}
```
该程序使用for循环遍历100到999之间的所有三位数,然后将其百位、十位和个位分别计算出来。接着,使用if语句判断该数是否为水仙花数,如果是,则输出该数。