学校举办投球比赛。比赛规则如下:选手3分钟内在规定位置投球,每投进一球得一分,如果连续投进3球则奖励一分。现在,请你编程帮助统计每位选手的得分情况,并且找出得分最高的选手。如果出现并列最高分则输出靠后选手的编号
输入数据的第一行为选手人数N,后面N行的每一行为一名选手的投球得分情况,投进记录Y,没有投进则记录N,以E结束该选手的投球。
输出数据包含两行,第一行为得分最高的选手的序号,第二行为该选手的得分。
- #include <iostream>
- #include <cstdio>
- using namespace std;
- int main()
- {
- int n,s[1000],t,max=-1;
- char a;
- cin>>n;
- for(int i=1;i<=n;i++)
- {
- s[i]=0;
- t=0;
- while(a!='E')
- {
- cin>>a;
- if(a=='Y')
- {
- s[i]++;
- t++;
- }
- if(t==3)
- {
- s[i]++;
- t=0;
- }
- if(a=='N')
- t=0;
- }
- }
- for(int i=1;i<=n;i++)
- {
- if(s[i]>max)max=s[i];
- }
- for(int i=1;i<=n;i++)
- {
- if(max==s[i])cout<<i;
- }
- cout<<max;
- return 0;
- }
复制代码 |