X的旅游计划 SDUT

X的旅游计划
Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description
X在最后的几周安心学习,考试有惊无险,so,X和女友就要计划一下放假后的时间了,来一场说走就走的旅行,这是两个人的一致想法,但是究竟去哪里玩,就要好好考虑一下了。

X和他的女友都有一些自己想去的地方,于是X想让大家帮他找一找两个人都想去的地方。

Input
测试案例有多组,每个案例:

第一行输入两个数n,m(n < 100 && m < 100)。X想要去的地方有n个,女友想要去的地方有m个。

之后n行,每行一个字符串(长度小于10)表示X想去的地名。

之后m行,每行一个字符串(长度小于10)表示女友想去的地名。

Output

将在n中和在m中都出现过得字符串输出(字典序)。

如果没有相同的字符串,输出”sad!”(不含引号)。

Sample Input
2 2
aaa
bbb
aaa
bbb
Sample Output
aaa
bbb
Hint

Source

#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
   int m,n,i,j;
   char a[100][100],b[100][100];
   while(~scanf("%d%d",&n,&m))
   {
       for(i=0;i<n;i++)
        scanf("%s",a[i]);
       for(i=0;i<m;i++)
        scanf("%s",b[i]);
        int f=0,t=0;//记住初始化
        char c[100][100];
       for(i=0;i<n;i++)
       {
           for(j=0;j<m;j++)
           {
               if(strcmp(a[i],b[j])==0)//找出相同的字符串
                {
                    f=1;//标记变量
                   strcpy(c[t++],a[i]);//把字符串复制到新的数组当中去
                }
           }
       }
       if(f==1)//如果成立,按照字符典的顺序排序
       {
           char d[100][100];
           for(i=0;i<t-1;i++)//冒泡排序  t的个数减一 
           {
               for(j=0;j<t-1-i;j++)
               {
                   if(strcmp(c[j],c[j+1])>0)
                   {
                       strcpy(d[j],c[j]);
                       strcpy(c[j],c[j+1]);//交换值
                       strcpy(c[j+1],d[j]);
                   }
               }
           }
           for(i=0;i<t;i++)
       printf("%s\n",c[i]);//不要忘了\n
       }

       else printf("sad!\n");
   }
    return 0;
}

这个呢是借鉴的大佬的代码
链接如下
https://blog.csdn.net/zhACMer/article/details/47685941

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值