码迷,mamicode.com
首页 > 其他好文 > 详细

字符串相等 impossible 1480

时间:2019-06-25 18:36:29      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:大写   main   lse   注意   否则   color   要求   忽略   pac   

题目描述

两个长度不超过80的字符串,串中包括大写、小写和空格字符,去掉空格并忽略大小写后,判断两个字符串是否相等。

输入描述

第1行输入是测试数据的组数n,每组测试数据占两行,第1行是第一个字符串s1,第2行是第二个字符串s2

输出描述

如果两个字符串相等,则输出YES,否则输出NO

样例输入

2
a A bb BB ccc CCC
Aa BBbb CCCccc
a      dfadf     fasdf
adasddfsfsaf

样例输出

YES

NO

思想:

注意cin对空格的要求,需要getchar() 或者直接用getline()

注意字符串用数组表示时末尾的   ‘\0‘

字符串函数strcmp(),相等的时候输出0

 1 #include<iostream>
 2 #include<string.h>
 3 #include<string>
 4 using namespace std;
 5 int main(){
 6     int n,i;
 7     cin>>n;
 8     getchar();
 9     for(i=0;i<n;i++){
10         int l1,l2,j,k;
11         char a[2][80],b[2][80],p[80];
12         for(j=0;j<2;j++){
13             gets(p);
14             strcpy(a[j],p);
15         }
16         l1=strlen(a[0]);
17         l2=strlen(a[1]);
18         k=0;
19         for(j=0;j<l1;j++){
20             if(a[0][j]>=A&&a[0][j]<=Z){
21                 a[0][j]=a[0][j]+32;
22             }
23         }
24         for(j=0;j<l2;j++){
25             if(a[1][j]>=A&&a[1][j]<=Z){
26                 a[1][j]=a[1][j]+32;
27             }
28         }
29           for(j=0;j<l1;j++){
30             if(a[0][j]!= ){
31                 b[0][k++]=a[0][j];
32             }
33         }
34           b[0][k]=\0;
35         k=0;
36           for(j=0;j<l2;j++){
37             if(a[1][j]!= ){
38                 b[1][k++]=a[1][j];
39             }
40         }
41           b[1][k]=\0;
42           if(strcmp(b[0],b[1])==0){
43               printf("YES\n");
44         }else{
45             printf("NO\n");
46         }    
47     }
48     return 0;
49 }

 

字符串相等 impossible 1480

标签:大写   main   lse   注意   否则   color   要求   忽略   pac   

原文地址:https://www.cnblogs.com/zq-dmhy/p/11084529.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!