7 您所在的位置:网站首页 python编写字典循环输入进球球员进球数 7

7

2024-07-15 16:14| 来源: 网络整理| 查看: 265

世界杯进行中…… 小明是个不太热心的球迷,收集了一些球赛的比赛信息,请你统计各个球队的进球数,并要求按球队名的字典序(升序)输出各球队名和进球数。

输入格式:

首先输入一个整数T,表示后面有T组测试数据。 每组测试数据先输入1个整数n(1     int i, j;        team temp;         for (i = 0; i < len - 1; i++)                 for (j = 0; j < len - 1 - i; j++){                         if (strcmp(Teams[j].name,Teams[j+1].name)>0) {                                 temp = Teams[j];                                 Teams[j] = Teams[j + 1];                                 Teams[j + 1] = temp;                         }                 } } int main() {     team Teams[40];     //memset(Teams,0,sizeof(team)*40);     for( int i = 0; i < 40; i++ )     {         Teams[i].kicks = -1;         strcpy(Teams[i].name , "xxx");     }     int T = 0;     int tmCnt = 0;     int n = 0;     int isnew1,isnew2;     char tmname1[11];     char tmname2[11];     int kick1,kick2;     scanf("%d",&T);     while (T--)     {         scanf("%d",&n);         for (int j = 0; j < 2*n ; j+=2)         {             scanf("%s%s%d%d",tmname1,tmname2,&kick1,&kick2);             //用tmname查一下是否有新队参加;             for (int i = 0; i < 2*n;i++)                 //对Temas进行遍历;             {                 isnew1  = 1;                 isnew2  = 1;                 if (strcmp(tmname1,Teams[i].name) == 0)                 {                     Teams[i].kicks = Teams[i].kicks + kick1;                     isnew1 = 0;                     break;                 }             }             for( int i = 0; i < 2*n; i++){                 if (strcmp(tmname2,Teams[i].name) == 0)                 {                     Teams[i].kicks = Teams[i].kicks + kick2;                     isnew2 = 0;                     break;                 }             }             //如果tmname是新的,通过isnew判断,并且放到最后;             if (isnew1 == 1)             {                 Teams[tmCnt].kicks = kick1;                 strcpy(Teams[tmCnt].name,tmname1);                 tmCnt++;             }             if (isnew2 == 1)             {                 Teams[tmCnt].kicks = kick2;                 strcpy(Teams[tmCnt].name,tmname2);                 tmCnt++;             }         }         teamSort(Teams,tmCnt);         for(int j = 0;  j < tmCnt; j++){             printf("%s %d",Teams[j].name,Teams[j].kicks);             if (j < tmCnt - 1)                 printf("\n");         }     }     return 0; }

方法2:

 #include #include struct qiu {     char name[11];     int score; }; void sort(struct qiu arr[], int n) {     for (int i = 0; i < n - 1; i++)     {         for (int j = 0; j < n - i - 1; j++)         {             if (strcmp(arr[j].name, arr[j + 1].name) > 0)             {                 struct qiu temp = arr[j];                 arr[j] = arr[j + 1];                 arr[j + 1] = temp;             }         }     } } int main() {     int t;     scanf("%d", &t);     while (t--)     {         int n;         scanf("%d", &n);         struct qiu sb[2 * n];         for (int i = 0; i < 2 * n; i += 2)         {             scanf("%s %s %d %d", sb[i].name, sb[i + 1].name, &sb[i].score, &sb[i + 1].score);         }         sort(sb, 2 * n);         for (int i = 0; i < 2 * n;)         {             int j = i + 1;             while (j < 2 * n && strcmp(sb[j].name, sb[i].name) == 0)             {                 sb[i].score += sb[j].score;                 j++;             }             printf("%s %d\n", sb[i].name, sb[i].score);             i = j;         }     }     return 0; }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有