c语言从键盘上输入一个三位数,编写程序判断该三位数是否是水仙花数,并给出相应提示。如:153=13+53+33
时间: 2024-06-06 20:11:10 浏览: 31
#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 isWaterLily(int num) {
int百位 = num / 100;
int十位 = (num % 100) / 10;
int个位 = num % 10;
// 计算各个位的立方并求和
int sumOfCubes = 百位 * 百位 * 百位 + 十位 * 十位 * 十位 + 个位 * 个位 * 个位;
// 如果和等于原数,那么它就是水仙花数
return (sumOfCubes == num);
}
int main() {
int input;
printf("请输入一个三位数到五位数之间的自然数:");
scanf("%d", &input);
if (isWaterLily(input)) {
printf("%d 是一个水仙花数。\n", input);
} else {
printf("%d 不是水仙花数。\n", input);
}
return 0;
}
```
在这个程序中,`isWaterLily`函数接收一个整数作为输入,然后计算每个位的立方,并检查它们的总和是否等于原始输入。如果是,则返回`true`表示它是水仙花数,反之则返回`false`。
编写C语言程序,从键盘输入任意一个3位正整数,判断是否"水仙花数"
水仙花数是指一个三位数的各位数字的立方和等于该数本身,例如153就是一个水仙花数,因为1的立方+5的立方+3的立方等于153。
以下是实现该功能的C语言程序:
```c
#include <stdio.h>
int main() {
int num, digit1, digit2, digit3;
printf("请输入一个三位正整数:");
scanf("%d", &num);
digit1 = num / 100; // 获取百位数字
digit2 = num / 10 % 10; // 获取十位数字
digit3 = num % 10; // 获取个位数字
if (num == digit1*digit1*digit1 + digit2*digit2*digit2 + digit3*digit3*digit3) {
printf("%d是水仙花数\n", num);
} else {
printf("%d不是水仙花数\n", num);
}
return 0;
}
```
程序首先从键盘输入一个三位正整数,然后将其各位数字分别提取出来。通过计算各位数字的立方和,判断该数是否为水仙花数,并输出相应的结果。
阅读全文