一道有点难搞的C语言题,200分

来源:百度知道 编辑:UC知道 时间:2024/06/04 03:12:10
编写一个程序,先读入一段正文,然后删除其中的单词from in at an和on,最后显示该结果文本框。
#include <stdio.h>
#include <stdlib.h>
char *word[]={"from","in","at","an","on"};
#define NUM 5
#define LINES 256
#define MAXLEN 1000
main()
{
char *lineptr[LINES],*p;
int i,j,k,nlines;
if ((nlines=readlines(lineptr,100))>0)
{
for(i=0;i<NUM;i++)
{
j=0;
while(j<nlines)
{
p=lineptr[j++];
while((k=index(p,word[i]))>=0)
del_word(p,k,strlen(word[i]));
}
}
writelines(lineptr,nlines);
}
}
del_word(char *s,int n,int len)
{
while(*(s+n)=*(s+n+len)) n++;
}
readlines(char *lineptr[],int maxlines)
{
int len,nlines=0;
char *p,line[MAXLEN];
printf("Input a paragraph:\n");
while ((len=getline(line,MAXLEN))&g

#include <stdio.h>
#include <stdlib.h>
char *word[]={"from","in","at","an","on"};
#define NUM 5
#define LINES 256
#define MAXLEN 1000
main()
{
char *lineptr[LINES],*p;
int i,j,k,nlines;
if ((nlines=readlines(lineptr,100))>0)
{
for(i=0;i<NUM;i++)
{
j=0;
while(j<nlines)
{
p=lineptr[j++];
while((k=index(p,word[i]))>=0)
del_word(p,k,strlen(word[i]));
}
}
writelines(lineptr,nlines);
}
}
del_word(char *s,int n,int len)
{
while(*(s+n)=*(s+n+len)) n++;
}
readlines(char *lineptr[],int maxlines)
{
int len,nlines=0;
char *p,line[MAXLEN];
printf("Input a paragraph:\n");
while ((len=getline(line,MAXLEN))>1)
if (nlines>maxlines)
return(-1);
else if ((p=malloc(len+1))==NULL)
return