写一段C代码来查找多个相同的数据
时间: 2023-09-06 22:04:02 浏览: 55
### 回答1:
以下是一段C代码来查找多个相同的数据:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main()
{
int arr[MAX_SIZE], freq[MAX_SIZE];
int size, i, j, count;
//读取输入数组的大小
printf("输入数组的大小: ");
scanf("%d", &size);
//读取数组元素
printf("输入数组元素: ");
for(i=0; i<size; i++)
{
scanf("%d", &arr[i]);
freq[i] = -1;
}
//查找相同元素的频率
for(i=0; i<size; i++)
{
count = 1;
for(j=i+1; j<size; j++)
{
if(arr[i] == arr[j])
{
count++;
freq[j] = 0;
}
}
if(freq[i] != 0)
{
freq[i] = count;
}
}
//输出相同元素及其频率
printf("\n相同元素及其频率: \n");
for(i=0; i<size; i++)
{
if(freq[i] != 0)
{
printf("%d 出现 %d 次\n", arr[i], freq[i]);
}
}
return 0;
}
```
在上述代码中,我们首先声明了两个数组`arr`和`freq`,分别用于存储输入的数组元素和元素出现的频率。我们先读取输入数组的大小和元素,然后对数组中的每个元素进行遍历,在遍历过程中,我们使用一个`count`变量来统计相同元素的个数,并将其存储到`freq`数组中,以便后续输出。在统计完每个元素的频率后,我们输出相同元素及其频率。
### 回答2:
要写一段C代码来查找多个相同的数据,可以使用数组和循环来实现。以下是一个示例代码:
```c
#include <stdio.h>
void findDuplicates(int arr[], int size) {
for (int i = 0; i < size; i++) {
for(int j = i + 1; j < size; j++) {
if(arr[i] == arr[j] && (i != j)) {
printf("找到相同的数据:%d\n", arr[i]);
}
}
}
}
int main() {
int arr[] = {4, 2, 5, 8, 2, 6, 4};
int size = sizeof(arr) / sizeof(arr[0]);
findDuplicates(arr, size);
return 0;
}
```
在上述代码中,首先定义了一个`findDuplicates`函数来查找多个相同的数据。该函数接受一个整型数组和数组的大小作为参数。使用两个嵌套的`for`循环来遍历数组,并比较每个元素与其后面的元素是否相同。如果找到相同的数据,则打印出来。
在`main`函数中,定义了一个大小为7的数组`arr`,并计算出数组的大小。然后调用`findDuplicates`函数来查找多个相同的数据。
输出结果为:
找到相同的数据:4
找到相同的数据:2
### 回答3:
要查找多个相同的数据,可以使用数组来存储数据,然后通过遍历数组的方式进行查找。以下是一段C代码实现这个功能:
```c
#include <stdio.h>
void findDuplicates(int arr[], int size) {
int found[size]; // 用于标记已经找到的重复数据
int duplicateCount = 0; // 重复数据的数量
for (int i = 0; i < size-1; i++) {
if (found[i])
continue; // 已经找到过相同的这个元素,跳过
for (int j = i+1; j < size; j++) {
if (arr[i] == arr[j]) {
printf("%d ", arr[i]); // 找到重复的数据,输出
found[j] = 1; // 标记已找到
duplicateCount++;
}
}
}
if (duplicateCount == 0) {
printf("No duplicates found.");
}
}
int main() {
int arr[] = {1, 3, 4, 2, 5, 3, 2, 7, 9, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printf("Duplicates: ");
findDuplicates(arr, size);
return 0;
}
```
上述代码中,`findDuplicates` 函数接受一个整数数组 `arr` 和数组的大小 `size`,并使用两层循环来遍历数组,查找重复的数据。当找到重复数据时,会将其输出,并使用 `found` 数组标记已找到的元素,避免重复输出。如果没有找到任何重复数据,则输出 "No duplicates found."。
在 `main` 函数中,我们定义了一个整数数组 `arr`,并调用 `findDuplicates` 函数来查找重复的数据。然后输出结果。
以上是一种简单的实现方式,可以根据具体需求进行优化和修改。