#include <stdio.h>
#include <stdlib.h>
#include<iostream>
//using name space std;
void vote(int a[], int n) {
int t = 0, i, j, re;
int* b = new int[n], * c = new int[n]; //b[j]为计数数组,a[]中共有t个不同数值
for (i = 0; i < n; i++) { //遍历数组
for (j = 0, re = 1; j <= t; j++) { //a[i]遍历之前存在c[]的不同数值
if (a[i] == c[j]) //如有相同数值
{
b[j]++;//相同则b[]加一分
re = 0;
break;
}
}
if (re) //无相同项,新增一位
{
c[t] = a[i];
b[t] = 1;
t++;
}
}
for (int j = 0; j < t; j++) {
printf("%d ", c[j]);
}
printf("\n");
for (int j = 0; j < t; j++) {
printf("%d ", b[j]);
}
}
int main()
{
int input[] = { 1,2,3,1,2,1,1,6,1,1 };
vote(input, sizeof(input) / sizeof(int));
return 0;
}
计算数组中各数出现次数
最新推荐文章于 2022-04-07 16:39:27 发布