**題目描述:兩個長度不超過80的字串,串中包括大寫、小寫和空格字元,去掉空格字元並忽略大小寫後判斷兩個字串是否相等。
阿新 • • 發佈:2019-01-07
題目描述:兩個長度不超過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; }
執行截圖如下: