c语言输入一系列数字,找出未重复的数字
时间: 2024-10-12 10:04:55 浏览: 27
C语言实例100题.doc
在C语言中,如果你想输入一系列数字并找出其中未重复的数字,你可以使用数组或集合数据结构(如哈希表或关联数组)来存储已看到的数字。这里是一个简单的示例,我们将使用数组和一个辅助函数来完成这个任务:
```c
#include <stdio.h>
#include <stdbool.h>
#define SIZE 100 // 假设我们最多处理100个数字
// 辅助函数用于检查数字是否已经存在数组中
bool isDuplicate(int numbers[], int n, int num) {
for (int i = 0; i < n; i++) {
if (numbers[i] == num) {
return true;
}
}
return false;
}
// 主函数获取用户输入并找出未重复的数字
void findUniqueNumbers() {
int numbers[SIZE];
bool unique[SIZE]; // 用于标记数字是否已被找到
int count = 0;
int num;
printf("请输入数字(以空格分隔),输入非数字结束:");
while (scanf("%d", &num) != EOF && num != -1) { // 使用-1作为非数字的终止符
if (!isDuplicate(numbers, count, num)) { // 如果数字未重复
numbers[count++] = num; // 将其添加到数组中
unique[count-1] = true; // 标记为已找到
} else {
printf("数字%d已存在。\n", num);
}
}
printf("未重复的数字有:\n");
for (int i = 0; i < count; i++) {
if (unique[i]) {
printf("%d ", numbers[i]);
}
}
printf("\n");
}
int main() {
findUniqueNumbers();
return 0;
}
```
在这个程序中,用户通过输入连续的数字,程序会检查每个输入的数字是否已存在于数组`numbers`中。如果数字未重复,则添加到数组并标记为已找到;如果不重复,则打印出该数字。
阅读全文