内存:128  时间:1

题目描述

小平在读一篇英语文章时,发现有些句子里含有 don’t ,壮神告诉他这是英文do not的缩写,但小平不喜欢这种缩写,请帮助小平把句子中的该种缩写形式替换成非缩写形式。

以下给出部分代码实现,请提交缺少的代码。

#include <stdio.h>
#include <string.h>
#define MAXLEN 256
int main()
{
    char s1[MAXLEN],s2[MAXLEN]="";
    char *p1 = s1,*p2 = s2;
    void replace(char *src,char *dst);
    scanf("%[^\n]",s1);
    replace(p1,p2);
    printf("%s\n",s2);
    return 0;
}

输入

含有或不含有缩写don’t的句子。

输出

将所有缩写don’t全部展开后的句子。

样例输入

Don’t roar at me.They don’t like reading.I don’t like tea and coffe.

样例输出

Do not roar at me.They do not like reading.I do not like tea and coffe.

提示

只需按题目要求替换don’t,不要画蛇添足。

代码如下

#include <stdio.h>
#include <string.h>
#define MAXLEN 256
void replace(char *p1,char *p2)
{
	int i,j;
	for(i=j=0;i<=strlen(p1);i++,j++)
	{
		if((p1[i]=='D'||p1[i]=='d')&&p1[i+1]=='o'&&p1[i+2]=='n'&&p1[i+3]=='\''&&p1[i+4]=='t')
		{
			p2[j]=p1[i];
			p2[j+1]=p1[i+1];
			p2[j+2]=' ';
			p2[j+3]='n';
			p2[j+4]='o';
			p2[j+5]='t';
			i+=4;
			j+=5;
		}
		p2[j]=p1[i];
	}
}
int main()
{
    char s1[MAXLEN],s2[MAXLEN]="";
    char *p1 = s1,*p2 = s2;
    void replace(char *src,char *dst);
    scanf("%[^\n]",s1);
    replace(p1,p2);
    printf("%s\n",s2);
    return 0;
}

代码来源于互联网,仅供参考!