任给一个三位十进制整数,若该数中有且仅有两个数码相同,则输出该数,用C语言怎么写
时间: 2023-05-14 21:06:58 浏览: 124
以下是C语言代码:
```c
#include <stdio.h>
int main() {
int num;
scanf("%d", &num);
int a = num / 100;
int b = num / 10 % 10;
int c = num % 10;
if (a == b && b != c) {
printf("%d\n", num);
} else if (a == c && b != c) {
printf("%d\n", num);
} else if (b == c && a != b) {
printf("%d\n", num);
}
return 0;
}
```
这个程序会读入一个三位十进制整数,然后将其拆分成三个数字,分别存储在变量a、b、c中。接着,程序会检查这三个数字是否有两个相同的,如果有,则输出原数。如果没有,则什么也不做。
相关问题
任给一个三位十进制整数,若该数中有且仅有两个数码相同,则输出该
数,否则输出"不存在"。
可以使用以下代码实现:
```python
num = input("请输入一个三位十进制整数:")
if num[0] == num[1] and num[1] != num[2]:
print(num)
elif num[0] == num[2] and num[2] != num[1]:
print(num)
elif num[1] == num[2] and num[2] != num[0]:
print(num)
else:
print("不存在")
```
这段代码会先读入一个三位十进制整数,然后判断其中是否有且仅有两个数码相同,如果是,则输出该数,否则输出"不存在"。
任给一个三位十进制整数,若该数中有且仅有两个数码相同,则输出该数
这个问题可以通过编写一个简单的程序来解决。以下是一个可能的解决方案:
```python
def has_two_same_digits(n):
digits = [int(d) for d in str(n)]
return len(set(digits)) == 2
def find_number_with_two_same_digits():
for n in range(100, 1000):
if has_two_same_digits(n):
return n
return None
print(find_number_with_two_same_digits())
```
这个程序首先定义了一个函数 `has_two_same_digits`,用于检查一个三位整数中是否有且仅有两个数码相同。这个函数的实现方式是将整数转换为一个数字列表,然后使用 `set` 函数来去除重复的数字,最后判断列表长度是否为 2。
接下来,程序定义了一个函数 `find_number_with_two_same_digits`,用于查找符合条件的三位整数。这个函数通过遍历所有三位整数来实现,对于每个整数,它调用 `has_two_same_digits` 函数来检查是否符合条件,如果符合条件,则返回该整数。
最后,程序在主函数中调用 `find_number_with_two_same_digits` 函数,并输出结果。如果找到符合条件的整数,则输出该整数,否则输出 `None`。
注意,这个程序并不是唯一的解决方案,你可以使用其它编程语言或算法来实现同样的功能。
阅读全文
相关推荐
















