zoukankan      html  css  js  c++  java
  • 名字匹配(水题)

    Description

        S公司在招聘新的人才,由于S公司是个大公司,所以来应聘的人非常多。这可难坏了我们的小Q小姐,因为有个人交了两份申请表,这样不得不让小Q每次得看两回申请表,现在小Q小姐想统计出来有多少人交了两份申请表。

        现在我们来简化这个问题,对于该问题有两个字符窜是s1和s2,每个字符窜都包含许多人的名字,不同人的名字用空格隔开,现在让你统计s1和s2,出现相同人名字的个数是多少。

       例如s1=“Alice Bob Jame”

              s2=“Bob MINA”

              则答案是1,因为两窜人名相同的是Bob

    Input

     输入首先包含一个正整数T,表示有T组测试样例;

    然后分别输入字符窜s1和s2(len<100),每个字符窜包含许多个人的名字,名字和名字之间用空格隔开

    可以保证每个人名在每个字符窜中仅仅出现一次

    Output

     对于每组测试数据,用一行输出一个ans,表示有多少个人名字在两窜中都出现了

    Sample Input

    2
    Alice Bob Jame
    Bob MINA
    a b c d
    a b c d
    

    Sample Output

    1
    4
    


    解题思路:水题,将一串字符串按照空格拆分成一个个的单词作为名字,进行名字匹配,只需要遍历两个存储名字的二维数组即可,然而我还是wa了好
    几发,原因是没有想到名字之间可能间隔了不止一个空格。

    上代码:
     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     int n,i,j,k,u,z,m,len1,len2,count;
     6     char a[110],b[110];
     7     char x[110][110]={0},s[110][110]={0};
     8     scanf("%d",&n);
     9     getchar();
    10     while(n--)
    11     {
    12         gets(a);
    13         gets(b);
    14         len1=strlen(a);
    15         len2=strlen(b);
    16         k=0,j=0;
    17         for(i=0; i<=len1; i++)
    18         {
    19             if(a[i]!=' '&&a[i]!='')
    20             {
    21                 x[j][k++]=a[i];
    22             }
    23             else if((a[i]==' '&&a[i+1]!=' ')||(a[i]==''))
    24             {
    25                     x[j][k]='';
    26                     j++;
    27                     k=0;
    28             }
    29         }
    30         u=0,z=0;
    31         for(i=0; i<=len2; i++)
    32         {
    33             if(b[i]!=' '&&b[i]!='')
    34             {
    35                 s[z][u++]=b[i];
    36             }
    37             else if((b[i]==' '&&b[i+1]!=' ')||(b[i]==''))
    38             {
    39                     s[z][u]='';
    40                     z++;
    41                     u=0;
    42             }
    43         }
    44         count=0;
    45         for(i=0; i<j; i++)
    46         {
    47             for(m=0; m<z; m++)
    48             {
    49                 if(strcmp(x[i],s[m])==0)
    50                     count++;
    51             }
    52         }
    53         printf("%d
    ",count);
    54 
    55     }
    56     return 0;
    57 }
    
    
    
    
    
  • 相关阅读:
    MySql 用户 及权限操作
    MAC 重置MySQL root 密码
    在mac系统安装Apache Tomcat的详细步骤[转]
    Maven:mirror和repository 区别
    ES6 入门系列
    转场动画CALayer (Transition)
    OC 异常处理
    Foundation 框架
    Enum枚举
    Invalid App Store Icon. The App Store Icon in the asset catalog in 'xxx.app' can’t be transparent nor contain an alpha channel.
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/8831078.html
Copyright © 2011-2022 走看看