百练2743:字符串判等

B:字符串判等

总时间限制: 
1000ms 
内存限制: 
65536kB
描述

判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等。

输入
两行,每行包含一个字符串。
输出
若两个字符串相等,输出YES,否则输出NO。
样例输入
a A bb BB ccc CCC
Aa BBbb CCCccc
样例输出 YES

这道题是我想多了,其实用最原始、基本的方法就能做出来,只不过花费的空间大点,开四个数组。方法就是先把小写转成大写字母,然后分别字符串拷贝到缓存数组中,再用strcmp比较即可。我试图不用拷贝的方法,用while循环动态比较的方式,WA了好几次。。。机试时候还是求稳比较好啊,尽量用有把握的方法。

#include <cstdio>
#include <cstring>

using namespace std;
char a[100];
char b[100];
char aa[100];
char bb[100];
int main()
{
    gets(a);
    gets(b);
    int len_a=strlen(a);
    int len_b=strlen(b);
    int i;
    int cnta=0;
    int cntb=0;

    for(i=0;i<len_a;i++){
        if(a[i]>='a'&&a[i]<='z'){
            aa[cnta]=a[i]-32;
            cnta++;
        }
        else if(a[i]==' ')
            continue;
        else{
            aa[cnta]=a[i];
            cnta++;
        }
    }
    aa[cnta]='\0';
    for(i=0;i<len_b;i++){
        if(b[i]>='a'&&b[i]<='z'){
            bb[cntb]=b[i]-32;
            cntb++;
        }
        else if(b[i]==' ')
            continue;
        else{
            bb[cntb]=b[i];
            cntb++;
        }
    }
    bb[cntb]='\0';
    printf("%s\n",strcmp(aa,bb)==0?"YES":"NO");
    return 0;
}

************************

坚持,而不是打鸡血~


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值