hihoCoder#1082
剛開始學習C語言,準備在做hiho的題目的過程中來學習,在此進行記錄,如果代碼中有錯誤或者不當的地方還請指正。
時間限制:1000ms
單點時限:1000ms
內存限制:256MB
描述

fjxmlhx每天都在被沼躍魚刷屏,因此他急切的找到了你希望你寫一個程序屏蔽所有句子中的沼躍魚(“marshtomp”,不
區分大小寫)。為了使句子不缺少成分,統一換成 “fjxmlhx” 。
輸入
輸入包括多行。
每行是一個字符串,長度不超過200。
一行的末尾與下一行的開頭沒有關系。
輸出
輸出包含多行,為輸入按照描述中變換的結果。
- 樣例輸入
-
The Marshtomp has seen it all before. marshTomp is beaten by fjxmlhx! AmarshtompB
- 樣例輸出
The fjxmlhx has seen it all before. fjxmlhx is beaten by fjxmlhx! AfjxmlhxB
解決思路
讀取過程中將符合要求的字符串替換掉,然后輸出。
#include<stdio.h> int main() { int i=0,j=0,k=0; char *p; char mtp[]="marshtomp"; char MTP[]="MARSHTOMP"; char fjx[]="fjxmlhx**"; p=(char*)malloc(2000*sizeof(char)); while(scanf("%c",&p[i])!=EOF) { if((int)p[i]==(int)mtp[j]||(int)p[i]==(int)MTP[j]) { j++; if(j==9) { j=8; for(k=i;k>=i-8;k--) { p[k]=fjx[j]; j--; } j=0; } } else { j=0; } i++; } for(j=0;j<i;j++) { if((int)p[j]!='*') printf("%c",p[j]); } free(p); return 0; }
浙公網安備 33010602011771號