用C语言编了下面一个的程序:
用一个字符数组保存着一个英文句子,要求:
1 删除该英文句子的前导空格、后导空格。并删除句子中多余的空格(单词之间只留一个空格);
2 统计该句子中,单词出现的频率;
3 查找并替换某个单词。
#include
用C语言编了下面一个的程序:
用一个字符数组保存着一个英文句子,要求:
1 删除该英文句子的前导空格、后导空格。并删除句子中多余的空格(单词之间只留一个空格);
2 统计该句子中,单词出现的频率;
3 查找并替换某个单词。
#include
#include
#include
main()
{int k,m=1,n=1,i;
char str[80];
printf("input a string:"); /*输入一英文句子*/
gets(str);
count_words(str[80]);
find(str[80]);
fab(str[80]);
getch();
k=0;
while(str[k]=='')k++;
str[k]=str[0]; /*去句子中的前导空格*/
str[k]!='';
k=strlen(str);
do{
k--;
}while(str[k]=='');
str[k+1]='\0'; /*去句子中的后导空格*/
if(str[m]==''&&str[m-1]!=''&&str[n]=''&&str[n+1]!=''&&m
str[m+1]=str[n+1];
printf("the changed sentence is:%s",str); /*去句子中多余空格*/
}
int count_words(char str[]) /*定义一求某单词数目的函数*/
{int i,num,k;
num=count_words(str);
printf("input a word str[0]:"); /*输入某个单词*/
gets(str);
for(i=1;i
{for(num=0;num
if(strcmp(str[0],str[i])==0)
return num;
else
break; /*求句子中某单词频率*/
}
getch();
}
int find(char str[80]) /*定义一查找某单词的函数*/
{int n,i,k;
char str0;
printf("input the word which is needed to be found str0:"); /*输入要查找的单词*/
gets(str);
for(i=1;i
{
if(strcmp(str0,str[i])==0)
return str[i];
else
printf("there is no this word in this sentence:");
} /*查找句子中某个单词*/
getch();
}
int fab(char str[80]) /*定义一替换某单词的函数*/
{int i,n;
char str0,strk;
printf("input the word strk which is used to exchange the former word str0:"); /*输入替代的单词*/
gets(str);
n=fabs(strlen(str0)-strlen(strk));
if(strlen(str0)>strlen(strk))
return str[i]=str[i+n];
else
return str[i+n]=str[i]; /*替换句子中某个单词*/
getch();
}
但是出现了错误,不知道怎么去修改,大家帮帮忙吧!谢谢拉!
展开
全部