qq_31674785 2015-11-18 14:34 采纳率: 0%
浏览 4369

输入10个整数,求出其中互不相同的数的个数,哪一个数的出现次数最多,共出现了多少次,急

输入10个整数,求出其中互不相同的数的个数,哪一个数的出现次数最多,共出现了多少次,急。

  • 写回答

3条回答 默认 最新

  • threenewbee 2015-11-18 15:26
    关注
     #include <stdio.h>
    #define MAX 11
    /*输入MAX-1个整型数字,找出不同数字的个数,并且给出出现次数最多的数字。*/
    int *sel_sort(int n , int *a,int seq)/*选择排序 seq:0为由小到大,1为由大到小*/
    {
        int i=0,j=0 ,min=0,tmp;
        for(i=0 ; i<n-1 ; i++)
        {
            min=i;
            for(j=i+1 ; j<n ; j++)
            {
                if(seq==0){
                    if(a[j]<a[min])
                        min=j;
                }
                if(seq==1){
                    if(a[j]>a[min])
                        min=j;
                }
            }
            tmp=a[i];
            a[i]=a[min];
            a[min]=tmp;
        }
        return a;
    }
    
    int main()
    {
        int tmp,num,max,i=0,j=0,*p,**q;
        int a[MAX]={0},b[2][MAX]={0};
        printf("Please input:\n");
        for(i=0;i<MAX-1;i++)
        {
            scanf("%d",&a[i]);
        }
        p=sel_sort(MAX-1,a,0);
        num=1;
        b[0][0]=a[0];
        b[1][0]=1;
        tmp=1;
        for(i=0;i<MAX-2;i++)
        {
            if(p[i+1]!=p[i]){
                b[0][num]=p[i+1];
                b[1][num-1]=tmp;
                tmp=1;
                num+=1;
            }
            else{
                tmp+=1;
            }
        }
        b[1][num-1]=tmp;
    
        /*二维数组排序*/
        for(i=0 ; i<num-1 ; i++)
        {
            max=i;
            for(j=i+1 ; j<num ; j++)
            {
                if(b[1][j]>b[1][max])
                    max=j;
            }
            tmp=b[1][i];
            b[1][i]=b[1][max];
            b[1][max]=tmp;
            tmp=b[0][i];
            b[0][i]=b[0][max];
            b[0][max]=tmp;
    
        }
    /*完成二维数组排序*/
    
        printf("\nnum=%d\n",num);
        printf("NUM[0]=%d cnt=%d\n",b[0][0],b[1][0]);
        for(i=1;i<num;i++)
        {
            if(b[1][i-1]==b[1][i])
                printf("NUM[%d]=%d cnt=%d\n",i,b[0][i],b[1][i]);
            else
                break;
        }
        system("pause");
    
        return 0;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图