编写一个程序,判断从键盘输入的数是不是水仙花数
时间: 2023-04-20 11:04:28 浏览: 295
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1³+5³+3³=153。
以下是判断一个数是否为水仙花数的程序:
```
#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;
}
```
程序首先从键盘读入一个三位数,然后分别取出它的百位、十位和个位数字。接着,程序计算这三个数字的立方和,如果等于原来的数,就说明它是水仙花数,否则不是。最后,程序输出判断结果。
相关问题
本关任务:编写一个程序,判断从键盘输入的数是不是水仙花数。水仙花数是指一个3位数字,它各位数字的3次幂之和等于它本身。如153是一个水仙花数,因为: 153=13+53+33 相关知识 为了完成本关任务,你需要掌握:1.如何求出各个数位上的数字,2.if语句的熟练使用。 编程要求 根据提示,在右侧编辑器补充代码,计算并输出一个数是不是水仙花数。 测试说明 平台会对你编写的代码进行测试: 测试输入: 4 预期输出: 4不是水仙花数 测试输入: 153 预期输出: 153是水仙花数
# 在此处编写代码,并输出结果
num = int(input())
a = num // 100
b = (num // 10) % 10
c = num % 10
if num == a**3 + b**3 + c**3:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
从键盘上输入一个三位数,编写程序判断该数是否是水仙花数。水仙花数的各位数字的立方之和等于本身
以下是C知道的回答:
这是一个简单的问题,可以使用以下代码来判断一个三位数是否是水仙花数:
#include <stdio.h>
#include <math.h>
int main()
{
int num, originalNum, remainder, result = 0;
printf("请输入一个三位数:");
scanf("%d", &num);
originalNum = num;
while (originalNum != 0)
{
remainder = originalNum % 10;
result += pow(remainder, 3);
originalNum /= 10;
}
if (result == num)
printf("%d 是水仙花数", num);
else
printf("%d 不是水仙花数", num);
return 0;
}
如果输入的数是水仙花数,程序会输出“xxx是水仙花数”,否则会输出“xxx不是水仙花数”。
阅读全文