ACM书中题目——O

    xiaoxiao2021-03-25  74

    题目要求:输入行数,每行输入气球颜色,输出出现次数最多的颜色,输入0终止输入。

    题目思路:定义qiqiu数据类型包含两个元素,利用while循环向字符数组中输入气球颜色,比较每个数字中的字符,若相同则与此字符数组所对应的整数数组加1。比较整数数组大小,输出最大数组所对应的字符数组。

    细节处理:利用strcmp和strcpy函数,利用整数数组对应字符数组比较相同字符出现字数。

    #include<bits/stdc++.h>

    using namespace std;  struct qiqiu  {      char a[100][15];      int b[100];  };  int main()  {   int n,i,j,t=0,N=0;      char d[100][15];      while(cin>>n)      {  qiqiu q;          if(n==0) break;          for(i=0;i<n;i++)          {    q.b[i]=1;              cin>>q.a[i];          }          for(i=0;i<n;i++)          {              for(j=0;j<n;j++)                {if(i==j) continue;              if(strcmp(q.a[i],q.a[j])==0) q.b[i]++;}          }          for(i=1;i<n;i++)          { if(q.b[i]>q.b[t]) t=i;          }          strcpy(d[N],q.a[t]);      N++;      }      for(i=0;i<N;i++)      cout<<d[i]<<endl;      return 0;

     }

    感悟:题意理解要深刻,多方位思考问题。

    转载请注明原文地址: https://ju.6miu.com/read-37522.html

    最新回复(0)