应该怎么忽略空格判断是否相等呢(语言-c++)

img

 17:字符串判等
 总时间限制:1000ms
                             内存限制:65536kB
 描述
 判断两个由大小写专母和空格组成的字符串在忽略大小写,且忽略空格后是否相等
                                                                                                                                                 3
 输入                                                                                                                                               3338389切理纪
  两行,每行包含一个字符串.
  输出
   若两个字符串相等,输出YES,否则输出NO.
    样例输入
                                                                                                                                               43
      a A bb BB ccc cco
      Aa BBbb cccccc
                                                                                                                                          s&othe
     样例输出                                                                                                                                       ACod
                                                                                                                                        文件
        YES
       查看             提交               统计               提问
     52002-2021 POJ京ICP备20010980号-1

初学者哦

解答如下

#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;
int main()
{
    string a,b;
    char a1[150],b1[150];
    getline(cin,a);
    getline(cin,b);
    int j,k,n,h=0,f=0;
    for(j=0; j<a.length(); j++)
        if(a[j]!=' ')
        {
            if(a[j]<='z'&&a[j]>='a')
                a[j]-=32;
            a1[h++]=a[j];
        }
    for(j=0; j<b.length(); j++)
        if(b[j]!=' ')
        {
            if(b[j]<='z'&&b[j]>='a')
                b[j]-=32;
            b1[f++]=b[j];
        }
    if(strcmp(a1,b1)==0)
        cout << "YES" ;
    else
        cout << "NO" ;
    return 0;
}

首先用gets函数接收两串字符,再设置两个字符数组分别存放这两串去掉空格后的字符,然后用到中的toupper或是tolower函数对这两串新的字符逐个用大写或小写形式进行比较,就不写代码了。