c 语言输入一个三位数判断是否是水仙花数
时间: 2024-10-14 14:18:07 浏览: 105
水仙花数是一个特殊的三位数,其各位数字立方之和等于该数本身。例如,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;
}
```
相关问题
c语言输入一个三位数判断是否为水仙花数
这段字符是用十六进制表示的,需要先将其转换成字符串:
b'c\xe8\xaf\xad\xe8\xa8\x80\xe8\xbe\x93\xe5\x85\xa5\xe4\xb8\x80\xe4\xb8\xaa\xe4\xb8\x89\xe4\xbd\x8d\xe6\x95\xb0\xe5\x88\xa4\xe6\x96\xad\xe6\x98\xaf\xe5\x90\xa6\xe4\xb8\xba\xe6\xb0\xb4\xe4\xbb\x99\xe8\x8a\xb1\xe6\x95\xb0'
转换后得到的字符串为:"c语言输入一个三位数判断是否为水仙花数"
所以这段字符的意思是:编写一个C语言程序,输入一个三位数并判断其是否为水仙花数。
用C语言输入一个三位数判断是否为水仙花数
可以,水仙花数指一个三位数,其各位数字立方和等于该数本身,例如153就是一个水仙花数,因为1的立方+5的立方+3的立方=153。下面是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;
}
阅读全文