1. 程式人生 > >**題目描述:兩個長度不超過80的字串,串中包括大寫、小寫和空格字元,去掉空格字元並忽略大小寫後判斷兩個字串是否相等。

**題目描述:兩個長度不超過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;
}
	

執行截圖如下:
在這裡插入圖片描述