暑假集训大一第一周阶段二题目K - 征服的国家





分析

提议:唐娜有一份她的师父所爱的美人的名单,写程序去统计她们的国家,各个国家的人数。


首先看到英文题就有些心情不好,不太理解,就认为这题肯定可难,就在想用STL做

事实上却是可以用,但因为我对容器理解不深,所以就一直困惑着写不出代码

最后真的急了,就问同学要的代码,其实用我们学过的只是完全可以解决,就是不经常用的二位数组

也用字符串需要 到了 用的比较函数,复制函数。



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<stdio.h>
#include<string.h>
int main()
{
    int n,i,j,k;
   char  s[2010][100],t[100];
    scanf("%d",&n);
    getchar();
        for(i=0;i<n;i++)
        {
        scanf("%s",s[i]);
        gets(t);
        }
        for(i=0;i<n-1;i++)
            for(j=0;j<n-1-i;j++)
            if(strcmp(s[j],s[j+1])>0)
            {
                strcpy(t,s[j]);
                strcpy(s[j],s[j+1]);
                strcpy(s[j+1],t);
            }
            strcpy(t,s[0]);
            for(i=0,k=0;i<n;i++)
                if(strcmp(s[i],t)==0)
                k++;
            else
            {
                printf("%s %d\n",t,k);
                strcpy(t,s[i]);
                k=1;
            }
            printf("%s %d\n",t,k);
            return 0;
}

你可能感兴趣的:(二维数组,遍历)