现在有一个数组,我需要统计其中每个数有多少个,该怎么写代码
时间: 2024-04-08 11:35:34 浏览: 28
你可以使用哈希表(字典)来统计数组中每个数的出现次数。以下是一个使用Python编写的示例代码:
```python
def count_elements(arr):
count = {}
for num in arr:
if num in count:
count[num] += 1
else:
count[num] = 1
return count
# 示例用法
arr = [1, 2, 3, 2, 1, 3, 4, 2, 1]
result = count_elements(arr)
print(result)
```
这段代码会输出一个字典,其中键表示数组中的元素,值表示该元素在数组中出现的次数。对于给定的示例输入,输出将为`{1: 3, 2: 3, 3: 2, 4: 1}`,表示数字1出现3次,数字2出现3次,数字3出现2次,数字4出现1次。
相关问题
统计一个数组中有多少个不相同的数
你好,我明白了你的要求。对于你的问题,我可以提供以下解决方法:
可以使用 Set 数据结构来统计一个数组中有多少个不相同的数。具体做法是遍历数组,将每个数依次加入 Set 中,最后返回 Set 的大小即可。
下面是使用 Python 实现的代码示例:
```python
def count_uniq(arr):
uniq_set = set()
for num in arr:
uniq_set.add(num)
return len(uniq_set)
```
你可以将需要统计的数组作为参数传入这个函数,它会返回这个数组中不相同的数的数量。
用数组的形式帮我写一个统计数字的代码
好的,以下是一个统计数字的代码,使用了数组的形式:
#include <stdio.h>
int main() {
int nums[10] = {}; // 初始化数组,每个元素都为
int num;
printf("请输入一串数字:\n");
while (scanf("%d", &num) != EOF) { // 循环读入数字,直到输入结束
if (num >= && num <= 9) { // 判断数字是否在~9之间
nums[num]++; // 对应数字的计数器加1
}
}
printf("数字统计结果如下:\n");
for (int i = ; i < 10; i++) { // 遍历数组,输出每个数字的出现次数
printf("%d出现了%d次\n", i, nums[i]);
}
return ;
}
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)