1. 程式人生 > 實用技巧 >L1-059 敲笨鍾

L1-059 敲笨鍾

敲笨鍾
微博上有個自稱“大笨鐘V”的傢伙,每天敲鐘催促碼農們愛惜身體早點睡覺。為了增加敲鐘的趣味性,還會糟改幾句古詩詞。其糟改的方法為:去網上搜尋壓“ong”韻的古詩詞,把句尾的三個字換成“敲笨鍾”。例如唐代詩人李賀有名句曰:“尋章摘句老鵰蟲,曉月當簾掛玉弓”,其中“蟲”(chong)和“弓”(gong)都壓了“ong”韻。於是這句詩就被糟改為“尋章摘句老鵰蟲,曉月當簾敲笨鍾”。

現在給你一大堆古詩詞句,要求你寫個程式自動將壓“ong”韻的句子糟改成“敲笨鍾”。

輸入格式:

輸入首先在第一行給出一個不超過 20 的正整數 N。隨後 N 行,每行用漢語拼音給出一句古詩詞,分上下兩半句,用逗號 , 分隔,句號 . 結尾。相鄰兩字的拼音之間用一個空格分隔。題目保證每個字的拼音不超過 6 個字元,每行字元的總長度不超過 100,並且下半句詩至少有 3 個字。

輸出格式:

對每一行詩句,判斷其是否壓“ong”韻。即上下兩句末尾的字都是“ong”結尾。如果是壓此韻的,就按題面方法糟改之後輸出,輸出格式同輸入;否則輸出 Skipped,即跳過此句。

輸入樣例:

5
xun zhang zhai ju lao diao chong, xiao yue dang lian gua yu gong.
tian sheng wo cai bi you yong, qian jin san jin huan fu lai.
xue zhui rou zhi leng wei rong, an xiao chen jing shu wei long.
zuo ye xing chen zuo ye feng, hua lou xi pan gui tang dong.
ren xian gui hua luo, ye jing chun shan kong.
輸出樣例:
xun zhang zhai ju lao diao chong, xiao yue dang lian qiao ben zhong.
Skipped
xue zhui rou zhi leng wei rong, an xiao chen jing qiao ben zhong.
Skipped
Skipped
//以下程式碼寫的很好,記錄一下,遇到字串不要想著無腦迴圈,先拿紙模擬一下

include <stdio.h>

include <string.h>

char s[1100];
int main()
{
int n,i,j;
scanf("%d",&n);
getchar();
int index;
while(n--)
{
memset(s,0,sizeof(s));
gets(s);
int len=strlen(s),num=0,f=0,flag=0;
for (i=0; i<len; i++)
{
if (s[i]',')
{
if (s[i-1]
'g'&&s[i-2]'n'&&s[i-3]'o')
{
f=1;
}
}//
if (s[i]'.')
{
if (s[i-1]

'g'&&s[i-2]'n'&&s[i-3]'o')
{
flag=1;
}
}
}

	if (f==0||flag==0)
		printf("Skipped\n");
	else if (f==1&&flag==1)
	{
		for (j=len; j>=0; j--)
		{
			if (s[j]==' ')
			{
				num++;
				if (num==3)
				{
					index=j;
					break;
				}//!!真想不到直接截了後三個,傻傻的我還在想更改字串..
			}
		}
		for (i=0; i<index; i++)
		{
			printf("%c",s[i]);
		}
		printf(" qiao ben zhong.\n");//厲害
	}
}
return 0;

}