用C语言输入一个三位数,判断这个数是否是水仙花数,并输出判断结果。
时间: 2024-05-13 17:14:52 浏览: 126
水仙花数是指一个3位数,它的各位数字的立方和等于该数本身。例如153就是一个水仙花数,因为$1^3 + 5^3 + 3^3 = 153$。
下面是实现水仙花数判断的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语言中判断一个三位数是否为'水仙花数',并输出
在C语言中,"水仙花数"是指一个三位数,其各位数字立方之和等于原数本身的特性。例如,153就是水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是判断一个三位数是否为水仙花数的一个简单C语言函数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_armenian_triangle_number(int num) {
int hundreds = num / 100;
int tens = (num % 100) / 10;
int units = num % 10;
// 计算各位数字立方和
int sum_of_cubes = hundreds * hundreds * hundreds +
tens * tens * tens +
units * units * units;
// 比较立方和是否等于原数
return sum_of_cubes == num;
}
int main() {
int input;
printf("请输入一个三位数: ");
scanf("%d", &input);
// 确保输入是三位数
if (input >= 100 && input <= 999) {
if (is_armenian_triangle_number(input)) {
printf("%d 是一个水仙花数。\n", input);
} else {
printf("%d 不是水仙花数。\n", input);
}
} else {
printf("输入不是有效的三位数。\n");
}
return 0;
}
```
这个程序首先读取用户输入的三位数,然后通过`is_armenian_triangle_number()`函数检查它是否满足水仙花数的条件。
判断一个三位水仙花数c语言
判断一个三位数是否是水仙花数,是指这个数各个位上的数字立方之和等于原数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是用C语言编写的一个简单函数,用于检查输入的三位数是否是水仙花数:
```c
#include <stdio.h>
// 函数来计算数字各位上数字立方之和
int sumOfCubes(int num) {
int digits[4]; // 用于存储每一位的临时数组,这里假设四位数,但实际只需要三位
int sum = 0;
// 分割数字并求立方和
while (num > 0) {
digits[3] = num % 10; // 取最后一位
num /= 10;
sum += digits[3] * digits[3] * digits[3];
}
return sum;
}
// 主函数测试是否为水仙花数
int main() {
int num;
printf("请输入一个三位数: ");
scanf("%d", &num);
if (num >= 100 && num <= 999) { // 检查输入是否为三位数
if (sumOfCubes(num) == num) {
printf("%d 是一个水仙花数.\n", num);
} else {
printf("%d 不是水仙花数.\n", num);
}
} else {
printf("输入不是三位数!\n");
}
return 0;
}
```
在这个程序中,用户会被提示输入一个三位数,然后`sumOfCubes`函数会计算其各位的立方和,如果等于原数,则输出它是水仙花数,否则不是。
阅读全文
相关推荐
![c](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)