输入一个三位的整数,如果它有且仅有两位数码相同,那么就输出yes,否则输出no
时间: 2023-10-16 17:03:34 浏览: 131
如果输入一个三位的整数,判断其中是否有且仅有两位数字相同,可以使用以下的算法来实现。
1. 首先,获取用户输入的三位整数。
2. 将该整数的个位数字、十位数字和百位数字分别提取出来。
3. 比较这三个数字是否有且仅有两个数字相同。
4. 如果有且仅有两个数字相同,则输出"yes"。否则,输出"no"。
以下是一个示例代码:
```
num = int(input("请输入一个三位的整数:"))
unit = num % 10
tenth = (num // 10) % 10
hundredth = num // 100
if unit == tenth and tenth != hundredth:
print("yes")
elif unit == hundredth and tenth != hundredth:
print("yes")
elif tenth == hundredth and tenth != unit:
print("yes")
else:
print("no")
```
这个算法首先将整数的个位、十位和百位数字提取出来,然后通过多次的条件判断来确定是否有且仅有两个数字相同。如果有,则输出"yes";否则,输出"no"。
相关问题
输入一个三位整数,判断这个三位数是否有且仅有两个数字相同,如果是的话输出yes,否则输出no
示例:
输入:122
输出:yes
输入:123
输出:no
输入:144
输出:yes
输入:111
输出:no
解释:
对于第一个样例,这个三位数有两个数字相同,即2和2,因此输出yes。
对于第二个样例,这个三位数没有两个数字相同,因此输出no。
对于第三个样例,这个三位数有两个数字相同,即4和4,因此输出yes。
对于第四个样例,这个三位数有三个数字相同,因此输出no。
C语言编程输入一个三位整数,判断这个三位数是否有且仅有两个数字相同,如果是的话输出yes,否则输出no
```
#include <stdio.h>
int main() {
int num, a, b, c;
printf("请输入一个三位整数:");
scanf("%d", &num);
a = num / 100; // 百位
b = num / 10 % 10; // 十位
c = num % 10; // 个位
if ((a == b && a != c) || (a == c && a != b) || (b == c && b != a)) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
解释:
首先读入一个三位整数,然后通过除法和取余运算分别取出其百位、十位和个位。
接下来,我们用条件语句来判断是否有且仅有两个数字相同。注意,这里使用了逻辑运算符和比较运算符来组合判断条件。如果满足条件,则输出 yes,否则输出 no。