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

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

输入描述:第一行输入的是测试数据的组数n,每组测试数据占两行,第一行是第一个字符串S1,第二行是第二个字符串S2。

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

样例输入:
2
QW erTyu OP
qwert YUOp
ASDDDfghj
asDDFgHJ
样例输出:
YES
NO

本题主要用到字符串处理函数strlen、strcmp、strcpy

代码如下

#include<stdio.h>
#include<string.h>
#define N 40
int main()
{
  int i,j,n,m=0;
  char str[80],arr[N][80],ch[N][80];
  int len[80];//用来存储每个字符串的长度 
  scanf("%d",&n);//输入测试的组数 
  getchar();//清除 \n 
  
  for(i=0;i<2*n;i++) 
  {	//输入n组字符串
  	gets(str);
  	strlwr(str);//把输入字符串中所有字符统一变为小写 
  	len[m++]=strlen(str);//统计每个字符串的长度 
  	strcpy(arr[i],str);//把输入的字符串复制给arr数组 
  }
  
  for(i=0;i<2*n;i++)//作用、清除每个字符串的空格 
  {
  	int k=0;
  	for(j=0;j<len[i];j++)
  	{
  		if(arr[i][j]!=' ')
  		{
  			ch[i][k++]=arr[i][j];	
  		}
  	}
  	ch[i][k]='\0';//标志字符串结尾 
  }

  for(i=0;i<2*n;i+=2)//比较每组字符串是否相等 
  {
	if(strcmp(ch[i],ch[i+1])==0){
		printf("YES\n");
	}else{
	    printf("NO\n");	
	}	
  }
   return 0;
}
	

运行截图如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42552533/article/details/85051280