微光拼图 发表于 2021-11-19 22:36:54

输出一个数组中重复次数最少的数

本帖最后由 微光拼图 于 2021-11-20 22:37 编辑

例:
输入:4,1,2,1,2
输出:4

jhq999 发表于 2021-11-20 12:12:53

本帖最后由 jhq999 于 2021-11-20 12:35 编辑


int main()
{
        int num={0},i=0,min=0;
        char valsch={0};
        scanf("%s",valsch);
        i=0;
        while(valsch)
        {
               
                if('0'<=valsch&&'9'>=valsch)num-'0']++;
                i++;
        }
        min=0;
        for(i=1;i<10;i++)
        {
                if(num)
                {
                        if((num>num)||(0==num))min=i;
                }

        }
        printf("%d",min);

        return 0;
}

微光拼图 发表于 2021-11-20 22:26:58

jhq999 发表于 2021-11-20 12:12


这么写两位数就行不通了

jhq999 发表于 2021-11-21 06:57:50

微光拼图 发表于 2021-11-20 22:26
这么写两位数就行不通了
int main()
{
      int num={0},i=0,j=0,count=0,min=0,tmp=0,isnum=0;
      char valsch={0};
      scanf("%s",valsch);
      i=0;
                count=0;
                tmp=0;
                isnum=0;
      
      do{
               
                if('0'<=valsch&&'9'>=valsch)
                                {
                                        tmp=tmp*10+(valsch-'0');
                                        isnum=1;
                                }
                                else if(isnum)
                                {
                                        for (j = 0; j < count; j++)
                                        {
                                                if (num==tmp)break;
                                        }
                                        if (j==count)
                                        {
                                                num=tmp;
                                                num++;
                                                count++;
                                        }
                                        else
                                                num++;
                                        tmp=0;
                                        isnum=0;
                                }
                                       
                                       
               
      }while(valsch);
      min=0;
      for(i=1;i<count;i++)
      {
            
         if(num>num)min=i;
               

      }
      printf("%d",num);

      return 0;
}


41,1,202,10,41,1,21,10,202
21

页: [1]
查看完整版本: 输出一个数组中重复次数最少的数