标题:这道题需要用指针嘛?
只看楼主
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
以下代码供参考:
#include<stdio.h>
 int main()
 {
     char a[100],b[100];
     char letter[27];
     int map[27]={0};
     for(int i=0;i<26;i++)
     letter[i]='A'+i;
     gets(a);
     gets(b);
     for(int i=0;*(a+i);i++)
     if(*(a+i)>='A'&&*(a+i)<='Z')
      map[*(a+i)-'A']=1;
     for(int i=0;*(b+i);i++)
     if(*(b+i)>='A'&&*(b+i)<='Z')
      {
      if(map[*(b+i)-'A']==1)
      map[*(b+i)-'A']=2;
      }
      for(int i=0;i<26;i++)
      if(map[i]==2)
      printf("%c",letter[i]);
      getchar();
 }
2016-09-24 11:45
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
得分:0 
#include<stdio.h>
#include<ctype.h>
 int main()
 {
     char a[100],b[100];
     int map[26]={0};
     gets(a);
     gets(b);
     for(int i=0;*(a+i);i++)
         if(isupper(*(a+i)))
               map[*(a+i)-'A']=1;
     for(int i=0;*(b+i);i++)
         if(isupper(*(b+i))&&map[*(b+i)-'A']==1)  map[*(b+i)-'A']=2;
     for(int i=0;i<26;i++)
         if(map[i]==2)
             printf("%c",'A'+i);
     getchar();
 }

2016-09-24 13:32
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
回复 12楼 linlulu001
比我简单,受教了。
2016-09-24 14:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469116-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015463 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved