用c语言打印出水仙花数
时间: 2023-06-02 12:07:15 浏览: 54
Sure, 下面是用 C 语言打印出水仙花数的代码:
```c
#include <stdio.h>
int main() {
int low, high, i, num, digit1, digit2, digit3;
printf("请输入一个区间的两个数(中间用空格隔开):\n");
scanf("%d %d", &low, &high);
printf("%d ~ %d 之间的水仙花数有:\n", low, high);
for (i = low; i <= high; i++) {
num = i;
digit1 = num % 10;
num /= 10;
digit2 = num % 10;
num /= 10;
digit3 = num % 10;
if (i == digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3) {
printf("%d\n", 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语句判断该数是否为水仙花数,如果是,则输出该数。