题目本意是一个游戏:n个轮回,其中每个轮回格式:name score,表示玩家及相应的得失分数,输出最后赢家,若最后一轮过后,点数最高的不止一个,则输出这些点数相同的人中最先达到最大点数的那个人的姓名。
代码如下:共n论输入,每次输入判断人名是否存在,若存在只需进行count[j]的更新;否则不许先将人名字符串先复制到name数组中,每次更新完毕后将记录每个人,每轮点数的r[j][i]数组进行值得更新.
n轮结束后,找出第n轮点数最多的,即count数组的最大值,并记录下标,然后判断是否有多个最大值,没有直接将最大值下标k对应的人名name[k]输出;否则对所有轮回进行判断,在均有最大值的人中寻找最先达到最大值得人名并输出。
#include<stdio.h> #include<string.h> #define SIZE 35 #define N 1100 char name[N][SIZE]; int count[N],r[N][N]; int main(