水仙花数c 语言
时间: 2023-07-02 13:07:42 浏览: 116
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153 = 1^3 + 5^3 + 3^3。
以下是 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;
}
```
运行程序后,输入一个三位数,程序就会判断它是否为水仙花数。
相关问题
输出水仙花数c 语言
输出水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。在C语言中,你可以通过遍历所有三位数并检查这个条件来实现这个功能。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool isArmstrong(int num) {
int sum = 0, original_num, remainder;
original_num = num;
// 将数字分解成每一位
while (original_num != 0) {
remainder = original_num % 10;
sum += remainder * remainder * remainder; // 立方求和
original_num /= 10;
}
return (num == sum);
}
int main() {
for (int i = 100; i <= 999; ++i) { // 遍历三位数
if (isArmstrong(i)) {
printf("%d 是一个水仙花数。\n", i);
}
}
return 0;
}
```
当你运行这段代码,它会打印出所有从100到999之间的水仙花数。如果你需要进一步的帮助或有其他问题,请告诉我。
c 语言输入一个三位数判断是否是水仙花数
水仙花数是一个特殊的三位数,其各位数字立方之和等于该数本身。例如,153是个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C语言中,你可以编写一个函数来判断输入的三位数是否满足这个条件。这里是一个简单的示例:
```c
#include <stdio.h>
#include <math.h>
// 函数用于检查输入的三位数是否是水仙花数
int is narcissistic(int num) {
int sum = 0;
int temp = num; // 保留原始数值
while (temp != 0) {
int digit = temp % 10;
sum += pow(digit, 3); // 计算每位数字的立方
temp /= 10;
}
return sum == num; // 如果立方和等于原数,返回true,否则false
}
int main() {
int input;
printf("请输入一个三位数:");
scanf("%d", &input);
if (is_narcissistic(input)) {
printf("%d是水仙花数。\n", input);
} else {
printf("%d不是水仙花数。\n", input);
}
return 0;
}
```
阅读全文