任意输入一个三位数,如果有且仅有两个数码相同,则输出1,否则输出0 用c语言
时间: 2024-10-23 07:05:20 浏览: 54
2010年下半年三级网络技术上机试题南开100题.doc
在C语言中,我们可以使用条件控制结构和数组操作来实现这个功能。以下是一个简单的程序示例:
```c
#include <stdio.h>
int checkDuplicate(int num) {
int digits[10] = {0}; // 初始化一个存储数字出现次数的数组
int duplicate = 0; // 统计是否有重复的数码
// 将输入的三位数转换成字符数组便于处理
char str[4];
sprintf(str, "%d", num);
// 遍历每一位数字
for (int i = 0; i < 3; i++) {
int digit = str[i] - '0'; // 转换为整数
digits[digit]++;
// 如果当前数字已经出现两次,说明找到了重复
if (digits[digit] == 2) {
duplicate = 1;
break;
}
}
return duplicate; // 返回结果:1表示有重复,0表示无重复
}
int main() {
int input;
printf("请输入一个三位数:");
scanf("%d", &input);
if (checkDuplicate(input)) {
printf("1\n"); // 输出1
} else {
printf("0\n"); // 输出0
}
return 0;
}
```
在这个程序中,`checkDuplicate`函数接收一个三位数作为输入,通过遍历每一位并更新`digits`数组,然后检查是否存在重复的数码。如果找到重复,返回1;否则返回0。
阅读全文