输入数组,获取每个数出现的次数,使用C语言编写程序
时间: 2023-06-05 10:07:52 浏览: 85
C语言查找数组里数字重复次数的方法
5星 · 资源好评率100%
好的,我可以帮你解决这个问题。以下是 C 语言的代码示例:
```c
#include <stdio.h>
void countOccurrences(int arr[], int n) {
int freq[n];
int i, j, count;
for (i = 0; i < n; i++) {
freq[i] = -1; // 初始化
}
for (i = 0; i < n; i++) {
count = 1;
for (j = i + 1; j < n; j++) {
if (arr[i] == arr[j]) {
count++;
freq[j] = 0; // 避免重复计算
}
}
if (freq[i] != 0) {
freq[i] = count;
}
}
printf("每个数出现的次数:\n");
for (i = 0; i < n; i++) {
if (freq[i] != 0) {
printf("%d 出现了 %d 次\n", arr[i], freq[i]);
}
}
}
int main() {
int arr[] = {4, 2, 4, 9, 3, 4, 4, 2, 1};
int n = sizeof(arr) / sizeof(arr[0]);
countOccurrences(arr, n);
return 0;
}
```
输入数组 `arr`,获取每个数出现的次数。我们使用一个叫 `freq` 的辅助数组来记录每个元素出现的次数。主要思路是对于数组中的每个元素,遍历整个数组来查找它的重复,然后将相同元素的 `freq` 值设为 0,以避免重复计算。最后输出结果。
阅读全文