编辑代码

#include <stdio.h>
int main()
{
    int a[50],b[50],c[50],n,i,j,t,max;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }

    for(i=1;i<n;i++)
        for(j=0;j<n-1;j++)
        {
          if(a[j]>a[j+1])
          {
              t=a[j];
              a[j]=a[j+1];
              a[j+1]=t;
          }
        }
    //显示排序后的数组
    for(i=0;i<n-1;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n\n");


    j=0;
    t=-1;
    printf("显示每次循环数据变化\ni*t\tj\tb[]\tc[]\tt=i\tj++\n");
    for(i=0;i<n-1;i++)
    {
        printf("%d*",i);
        if(a[i]!=a[i+1])
        {
            printf("%d\t%d\t",t,j);
            b[j]=i-t;
            c[j]=i;
            printf("%d\t%d\t",b[j],c[j]);
            t=i;
            j++;
            printf("%d\t%d",t,j);
            
        }
        printf("\n");
    }

    b[j]=n-1-t;
    c[j]=n-1;
    //显示
    printf("\n\n%d---%d---%d\n\n",j,b[j],c[j]);

    max=b[0];

    for(i=1;i<=j;i++)//找到最大重复数
    {
        if(max<b[i])
        {
            max=b[i];
        }
    }

    for(i=0;i<=j;i++)//显示最大重复的整数
        if(b[i]==max)
        {
            t=c[i];//排序后的数据位置保存在c[]
            printf("%d %d\n",a[t],b[i]);
            //a[]为排序后的整数组
            //b[]为重复次数
            //c[]为数据在a[]数组的排序位置
        }

    return 0;
}