c语言,for语句编写程序,输出所有的水仙花数
时间: 2023-05-20 17:06:07 浏览: 56
以下是C语言的for循环程序,用于输出所有的水仙花数:
```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 (i * i * i + j * j * j + k * k * k == n) {
printf("%d ", n);
}
}
return 0;
}
```
这个程序会输出所有的三位数水仙花数,即153、370、371和407。
相关问题
用c语言写一个输出所有水仙花数
好的,让我来回答你的问题。下面是用 C 语言编写输出所有水仙花数的程序:
```
#include <stdio.h>
int main()
{
int num, originalNum, remainder, result = 0;
printf("输入一个整数:");
scanf("%d", &num);
originalNum = num;
while (originalNum != 0)
{
remainder = originalNum % 10;
result += remainder * remainder * remainder;
originalNum /= 10;
}
if (result == num)
printf("%d 是一个水仙花数", num);
else
printf("%d 不是一个水仙花数", num);
return 0;
}
```
如果你希望输出一定范围内的所有水仙花数,可以在程序中加上循环和条件语句,例如:
```
#include <stdio.h>
int main()
{
int num, originalNum, remainder, result = 0, i;
printf("输入要输出的范围:");
scanf("%d", &num);
printf("在 1 到 %d 之间的所有水仙花数为:\n", num);
for (i = 1; i <= num; i++)
{
originalNum = i;
result = 0;
while (originalNum != 0)
{
remainder = originalNum % 10;
result += remainder * remainder * remainder;
originalNum /= 10;
}
if (result == i)
printf("%d ", i);
}
return 0;
}
```
这样就可以输出指定范围内的所有水仙花数了。希望我的回答能够帮到你!
输出所有的水仙花数。“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。使用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
```