C语言,30分求助
查看原帖
C语言,30分求助
776023
lanwm楼主2022/10/11 14:16
#include<stdio.h>

#include<stdlib.h>

int cmp ( const void *a,const void *b)
{
   
   return *(int*)a-*(int*)b;
}

int main()

{ 

   int n=0;
   scanf("%d",&n);
   long long int arr[n];
   for(int i=0;i<n;i++)
   scanf("%lld",&arr[i]);
   
   qsort(arr,n,sizeof(long long int),cmp);
   
   int num[200000]={0};
   int k=0;
   for(int i=0;i<n;i++)
   {
   	for(int j=i+1;j<n;j++)
   	{
   		if(arr[j]==arr[i])
   		num[k]++;
   		else
   		{
   			i+=num[k++];
   			break;
   		}
   	}
   }
   
   for(int i=0,j=0;j<=k;i++)
   if(arr[i]!=arr[i+1])
   {
   	if(!j)
   	printf("%lld %d",arr[i],num[j++]+1);
   	else 
   	printf("\n%lld %d",arr[i],num[j++]+1);
   }
   
   return 0;
) 
2022/10/11 14:16
加载中...