给定n个整数,统计每个整数出现的次数 C语言
时间: 2024-09-25 21:14:53 浏览: 39
给定N个正整数,请统计奇数和偶数各有多少个-C语言代码
在C语言中,你可以使用数组、哈希表(如C++中的`std::unordered_map`或C语言的`HashTable`),或者直接利用数组的特性(如果整数范围较小且不会溢出)来统计每个整数出现的次数。这里提供一种基于数组的方法:
```c
#include <stdio.h>
// 创建一个大小为n+1的计数数组
int count(int arr[], int n) {
int count_table[n + 1];
for (int i = 0; i <= n; i++) {
count_table[i] = 0;
}
// 遍历输入数组并更新计数
for (int i = 0; i < n; i++) {
count_table[arr[i]]++;
}
return count_table;
}
void print_counts(int counts[], int n) {
printf("每个整数出现的次数:\n");
for (int i = 0; i <= n; i++) {
if (counts[i] > 0) {
printf("%d: %d\n", i, counts[i]);
}
}
}
int main() {
int arr[] = {1, 2, 2, 3, 3, 3, 4, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int result[] = count(arr, n);
print_counts(result, n);
return 0;
}
```
在这个示例中,我们首先创建了一个大小为n+1的数组`count_table`,然后遍历输入数组`arr`,每当遇到一个元素,就在`count_table`中对应的索引处加一。最后,我们打印出每个整数及其出现的次数。
阅读全文