33,009
社区成员
发帖
与我相关
我的任务
分享
1 2 3 4
2 3 4 5
1 3 5 7
#include <stdio.h>
int main(void)
{
//函数声明
void sortArr(int arr[],int length) ;
void countFun(int arr[],int i,int length);
//初始化数组
int a[12] = {1,2,3,4,2,3,4,5,1,3,5,7};
int i = 0 ;
//调用排列数组接口
sortArr(a,12);
//调用统计接口
countFun(a,0,12);
return 0 ;
}
//排列数组
void sortArr(int arr[],int length)
{
int i,j,k,tmp ;
for(i=0;i<length-1;i++)
{
k = i ;
for(j=i+1;j<length;j++)
{
if(arr[j]<arr[k])
{
k = j ;
}
}
if(k!=i)
{
tmp = arr[i] ;
arr[i] = arr[k] ;
arr[k] = tmp ;
}
}
}
//统计个数
void countFun(int arr[],int i,int length)
{
int top = arr[i] ;
int sum = 0 ;
while(arr[i]==top && i<length)
{
sum ++ ;
i++ ;
}
if(arr[i]!=top)
{
printf("数组 %d 共出现:%d次\n",top,sum);
if(i<length)
{
//递归调用
countFun(arr,i,length);
}
}
}