求教编写一个C语言函数求出两个c语言字符串比较函数包含的相同的单词

C语言 :写一个函数 输入一行字符 将此字符串中最长的单词输出_百度知道
C语言 :写一个函数 输入一行字符 将此字符串中最长的单词输出
C语言 :写一个函数 输入一行字符 将此字符串中最长的单词输出 悬赏分:0 - 离问题结束还有 14 天 23 小时 8-10#include &iostream&void main(){ int word(char c); int longest(char str[]); char str[80]; printf(&输入一行字符串\n\n&); gets(str); printf(&\n\n最长的单词为:\n\n&); for(i=longest(str);word(str[i]);i++)
printf(&%c&,str[i]); printf(&\n&);}int word(char c){ if((c&='a'&&c&='z')||(c&='A'&&c&='Z')) return 1; else return 0;} int longest(char str[])【这个函数几乎完全看不懂 望逐句详细解释其逻辑】{ int i,flag=1,len=0,point,max_len=0,max_ for(i=0;i&=strlen(str);i++)//解析每个字符 {
if(word(str[i]))
//是英文字母的话
if(flag==1)
//成立的话说明这个英文字母是单词的第一个
//单词第一个找到后改变标志
else len++;
//开始对这个单词长度进行累加
//非英文字母的话
//等待第一个英文字母的出现,所以flag=1(要是下一个是英文字母的话就能执行上面的if)
if(len&max_len)//之前累加的单词长度是否比上一个单词更长(第一次的话max_len初始化为0,len必大于max_len)
max_len=//将单词长度保存下来
max_point=//将最长单词的第一个英文字母在字符串中的位置保存下来
} } return (max_point);}
其他类似问题
为您推荐:
#include&stdio.h&
#include&string.h&
int main()
void word(char array[]);
char str[81];
printf(&请输入一行字符:&);
gets(str);
word(str);
void word(char array[])
void fanxu(char g[]);
int i,j,k,L,m,p,max,n=0;
int b[81];
char c[81];
L=strlen(array);
for(i=0;i&=L;i++)
if((array[i]==32&&array[k]!=32)||array[i]=='\0')
for(j=n-1;j&n;j++)
for(j=1;j&n;j++)
if((b[j]-(b[j-1]+1))&max)
while(array[m]!=32)
c[p]=array[m];
c[p]='\0';
printf(&此字符串中最长单词为...
字符串的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求教编写一个C语言函数求出两个字符串包含的相同的单词_百度知道
求教编写一个C语言函数求出两个字符串包含的相同的单词
编写一个函数,函数首部为void maxword(char*s,char *t),求出两个字符串包含的相同单词(同一字母的大小写视为不同的字符)。规定单词全部由英文字母构成,单词直接由一个或多个空格分隔。其中主函数如下:#include &string.h&Void main(){Char s[]=”This is C programming text”;Char t[]=”This is a text for C programming”;maxword(s,t);}
我自己编写了一个如下程序,但是不知道为何程序运行失败,请求大侠指教:#include &string.h&#include &stdio.h&void maxword(char *s,char *t){ int i,j=0,k=0,m=0,n=0; char *p[81],*q[81]; for(i=0;s[i]!=0;i++) {
if(s[i]!=' ')
p[m][j++]=s[i];
p[m][j]=0;
} } for(i=0;t[i]!=0;i++) {
if(t[i]!=' ')
q[n][k++]=t[i];
q[n][k]=0;
} } for(i=0;i&m;i++) {
for(j=0;j&n;j++)
if(strstr(p[i],q[j])!=NULL)
printf(&the same word:%s\n&,p[i]);
  因为你的p,q两个指针数组的成员都没有申请内存,却在下面进行了访问(如p[m][j]=0;&q[n][k]=0;)  修正方式,给p,q成员申请内存,将char *p[81],*q[81];语句修改为如下:&&&&&&&&&&&&&#define&MAX_SIZE&81&&&&&#define&BUF_SIZE&64&&&&&char&*p[MAX_SIZE],*q[MAX_SIZE];&&&&&int&temp&=&0;&&&&&for&(temp&=&0;&temp&&&MAX_SIZE;&++temp)&&&&&{&&&& &p[temp]&=&malloc(BUF_SIZE);&&&& &q[temp]&=&malloc(BUF_SIZE);&&&&&}&&&&函数末尾记得进行遍历释放它们成员的堆内存。
来自团队:
其他类似问题
为您推荐:
c语言函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求教输入一个句子,输出其中最长的单词_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:337,673贴子:
求教输入一个句子,输出其中最长的单词收藏
#include&stdio.h&#define n 80 void main(){&&&& int chdu[n] ,jilu[n] ;&&&& int i, word=0 ,num=0 , mid=0 ,&&&& char string[100] ,&&&& gets(string);&&&& for(i=0 ; ( c=string[i] ) != '\0' ; i++ )&&&& {&&&&&&&& if( c==' ' )&&&&&&&&&&&& word=0 ;&&&&&&&& else if( word==0 )&&&&&&&& {&&&&&&&&&&&& word = 1 ;&&&&&&&&&&&& jilu[num]=&&&&&&&&&&&& chdu[num] = 1 ;&&&&&&&&&&&& num++ ;&&&&&&&& }&&&&&&&& else&&&&&&&&&&&& chdu[num-1] = chdu[num-1]+ 1 ;&&&& }&&&& for( i = 0 ; i & i++ )&&&& {&&&&&&& if( mid & chdu[i] )&&&&&&&& mid = chdu[i] ;&&&& }&&&& str = jilu[mid] ;&&&& for( i = string[i] != ' ' && string[i] != '\0' ; i++ )&&&& {&&&&&&&& printf("%c" , string[i] ) ;&&&& }&&&& printf("\n") ;}
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C语言上机考试
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口共有 1967 人关注过本帖
标题:求高手。写出来的程序结果不对。找不到错误。编写程序将由键盘输入两个字符 ...
等 级:论坛游民
帖 子:36
专家分:10
结帖率:71.43%
&&已结贴√
&&问题点数:10&&回复次数:15&&&
求高手。写出来的程序结果不对。找不到错误。编写程序将由键盘输入两个字符串连接起来(不允许调用字符串函数)。
早上刚写的。。想不通。。能通过。但是有问题,
题目为。编写程序将由键盘输入两个字符串连接起来(不允许调用字符串函数)。
请高手帮我找找错误。帮我分析下~
#include &stdio.h&
#define M 4
#define N 5
void main()
{char a[M],b[N],c[M+N];
int i,j,x,y;
L1:printf(&input 1st: \n&);
for(i=0;i&M;i++)scanf(&%c&,&a[i]);
printf(&input 2st: \n&);
for(j=0;j&N;j++)scanf(&%c&,&b[j]);
printf(&you get\n&);
for(x=0;x&4;x++)c[x]=a[x];
for(y=4;y&=0;y--)c[y+4]=b[y];
for(i=0;i&9;i++)printf(&%c&,c[i]);
搜索更多相关主题的帖子:
等 级:小飞侠
帖 子:1114
专家分:2611
char a[100],b[100];
int i,n=0,j=0;
while(a[n]!='\0')n++;
while(a[j]!='\0')j++;
for(i=0;i&j;i++)
a[n+i]=b[i];
a[n+i]='\0';
[ 本帖最后由 hjywyj 于
11:38 编辑 ]
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
程序代码:#include &stdio.h&
char * strcat(char *, const char *);
int main(void) {
&&& char str1[<font color=#];
&&& char str2[<font color=#];
&&& scanf(&%s%s&, str1, str2);
&&& strcat(str1, str2);
&&& printf(&%s\n&, str1);
&&& return <font color=#;
char * strcat(char * str1, const char * str2) {
&&& int i,
&&& for(i = <font color=#; str1[i]; i++)
&&& for(j = <font color=#; str1[i] = str2[j]; j++, i++)
附件: 只有本站会员才能下载或查看附件,请
My life is brilliant
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
===========深入&-----------------&浅出============
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
程序代码:
#include &stdio.h&
int main (void) {
&&&&&&&&char a[<font color=#],b[<font color=#],*pa=a,*pb=b;
&&&&&&&&scanf(&%s%s&,pa,pb);
&&&&&&&&while(*pa) pa++;
&&&&&&&&while(*pb) *pa++=*pb++;
&&&&&&&&*pa='<font color=#';
&&&&&&&&printf(&%s\n&,a);
&&&&&&&&return <font color=#;
善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
等 级:业余侠客
帖 子:387
专家分:216
等 级:论坛游民
帖 子:36
专家分:10
回复 3楼 lz
不允许调用字符串函数呀、。。。
等 级:论坛游民
帖 子:36
专家分:10
回复 4楼 laoyang103
题目不允许调用字符串函数。。。。
等 级:论坛游民
帖 子:36
专家分:10
回复 5楼 ansic
大哥。。。大侠。。能不能给我讲讲这三段的意义呀。。我看得有点糊涂了。。。。&&
&&&&&& while(*pa) pa++;
&&&&&&&&while(*pb) *pa++=*pb++;
&&&&&&&&*pa='\0';
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
嘻嘻#^_^#,这个函数不是我自己写的吗。
My life is brilliant
版权所有,并保留所有权利。
Powered by , Processed in 0.031510 second(s), 9 queries.
Copyright&, BCCN.NET, All Rights Reserved}

我要回帖

更多关于 c语言字符串替换函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信