用C语言编一程序,显示出所有的水仙花数。所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。
时间: 2024-06-04 13:11:03 浏览: 119
#include <stdio.h>
int main() {
int i, a, b, c;
for (i = 100; i < 1000; i++) {
a = i / 100; // 获取百位数
b = (i % 100) / 10; // 获取十位数
c = i % 10; // 获取个位数
if (a * a * a + b * b * b + c * c * c == i) {
printf("%d ", i); // 输出水仙花数
}
}
return 0;
}
相关问题
利用C语言编写程序,打印水仙花数。要求写一个函数,用于判断一个数是否为“水仙花数”。调用该函数打印出所有水仙花数。 所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。
以下是利用C语言编写的程序,可以打印出所有水仙花数:
```c
#include<stdio.h>
// 判断一个数是否为“水仙花数”的函数
int isNarcissisticNumber(int n)
{
int sum = 0, temp = n;
while(temp > 0)
{
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if(sum == n)
return 1;
else
return 0;
}
int main()
{
printf("水仙花数有:\n");
for(int i=100; i<=999; i++)
{
if(isNarcissisticNumber(i))
{
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
运行结果如下:
```
水仙花数有:
153 370 371 407
```
c语言编写程序,输出所有的水仙花数。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如,153是水仙花数,因为153=13+53+33
在C语言中,我们可以编写一个程序来找出所有三位数内的水仙花数。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_aquileon_number(int num) {
int digits[3];
int sum = 0;
// 将数字分解并计算立方和
digits[0] = num / 100;
digits[1] = (num % 100) / 10;
digits[2] = num % 10;
for (int i = 0; i < 3; ++i) {
sum += pow(digits[i], 3);
}
// 如果立方和等于原数,则返回true,表示是水仙花数
return sum == num;
}
int main() {
int start = 100; // 开始从100查找
int end = 999; // 结束于999
printf("水仙花数有:\n");
for (int num = start; num <= end; ++num) {
if (is_aquileon_number(num)) {
printf("%d ", num);
}
}
return 0;
}
```
这个程序首先定义了一个`is_aquileon_number`函数来检查输入的整数是否是水仙花数。接着,在`main`函数中遍历从100到999的所有整数,如果某个数是水仙花数,就打印出来。
阅读全文
相关推荐















