输出所有的水仙花数。水仙花数是指一个三位数,其数字立方和等于该数本身。 C语言 for语句
时间: 2024-04-11 18:10:11 浏览: 135
以下是C语言实现输出所有的水仙花数的代码:
```c
#include <stdio.h>
int main() {
int i, digit, sum;
printf("水仙花数有:");
for (i = 100; i <= 999; i++) {
digit = i;
sum = 0;
while (digit) {
int remainder = digit % 10;
sum += remainder * remainder * remainder;
digit /= 10;
}
if (sum == i) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
运行结果:
```
水仙花数有:153 370 371 407
```
相关问题
输出所有的水仙花数。“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。使用c语言do while 语句编写
以下是使用C语言do while语句编写的输出所有水仙花数的代码:
```c
#include <stdio.h>
int main() {
int i = 100;
do {
int a = i / 100; // 百位数
int b = (i / 10) % 10; // 十位数
int c = i % 10; // 个位数
if (i == a * a * a + b * b * b + c * c * c) {
printf("%d ", i);
}
i++;
} while (i < 1000);
return 0;
}
```
输出结果:
```
153 370 371 407
```
用C语言循环语句输出1000以内的所有的“水仙花数”,“水仙花数”是指一个3位数,其各位数字立方和等于改数本身。例如:153是水仙花数,因为153等于1的立方加上5的立方加上3的立方。
要使用C语言编写一个循环来找出1000以内的所有水仙花数,你可以创建一个for循环遍历从100到999的所有数字,然后检查它们各个位的立方和是否等于原数。下面是示例代码:
```c
#include <stdio.h>
#include <math.h>
// 函数定义来判断一个数是否是水仙花数
int is NarcissisticNumber(int num) {
int digits[3];
int sum = 0;
// 分离每一位数字
while(num > 0) {
digits[2] = num % 10;
sum += pow(digits[2], 3); // 计算立方和
num /= 10;
}
// 检查是否所有位的立方和等于原数
return sum == num;
}
int main() {
for(int i = 100; i < 1000; ++i) {
if(is NarcissisticNumber(i)) {
printf("%d 是一个水仙花数.\n", i);
}
}
return 0;
}
```
阅读全文