给定一个整型数组,可以先将其排序再用一个两列的二维数组存放每个数以及出现的次数。
#include<stdio.h>
int main()
{
int arr[] = { 1,1,1,1 };//arr数组
int i = 0,j = 0,k=0,flag = 1;
int sz = sizeof(arr) / sizeof(arr[0]);
int count[10][2];
sort(arr, 4);
for (i = 0; i < sz; i++)
{
if (arr[i] != arr[i + 1])//这里会越界访问arr[3]!=arr[4],但是似乎不影响最终结果
{
count[k][0] = arr[i];
count[k][1] = flag;
k++;
flag = 1;
}
else
{
flag++;
}
}
for (i = 0; i < k; i++)
{
if (count[i][1] == 1)
printf("%d ", count[i][0]);
}
return 0;
}
count数组中确实存放了1以及1出现的次数。