⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_26586.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:26586 发表者:月明风清 发表日期:2003-01-02 21:15:16
<br>主题:紧急求救,在线等,帮忙看看程序错在哪了?
<br>内容:程序想要实现功能:找出字符串A和字符串B中共同包含的最长的子字符串。我编的程序如下,帮忙看看错在哪了,最好哪位好心人帮忙给改一下,很着急,在线等,谢谢。<BR>#include "stdio.h"<BR>#include "string.h"<BR><BR>int cmp(char *p1,char *p2)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int num=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(*p1!=*p2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;num++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;return num;<BR>}<BR>main()<BR>{<BR>char *temp;<BR>char *str1="adggabcdert";<BR>char *str2="dfggabcdstt";<BR>puts(str1);<BR>puts(str2);<BR>int m,n;<BR>m=0;<BR>temp=NULL;<BR>while(str1!='\0')<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(str2!='\0')<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(str1[0]=='a')<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n=cmp(str1,str2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;m)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m=n;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(temp,str1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;str1++;<BR>}<BR>return 0;<BR>}<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2003-01-02 21:20:34
<br>内容:int cmp(char *p1,char *p2)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int num=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(*p1!=*p2)&nbsp;&nbsp;&nbsp;&nbsp;//while(*p1 &amp;&amp; *p2 &amp;&amp; *p1==*p2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;num++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;return num;<BR>}<BR><BR><BR>主函数中:<BR><BR>char * pstr1 = str1;<BR>char * pstr2 = str2;<BR><BR>while(str1!='\0') //while(*str1!='\0')<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(str2!='\0') //while(*str2!='\0') <BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; if(str1[0]=='a')<BR>&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n=cmp(str1,str2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;m)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m=n;<BR>&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strcpy(temp,str1);&nbsp;&nbsp; //temp还没有分配空间,不知此句有什么用途<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;str1++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;str2 = pstr2;<BR>}<BR>temp = (char*)malloc(m+1);<BR>strncpy(temp,p,m);<BR>temp[m] = '\0';<BR>puts(temp);<BR><BR><BR>结果:<BR>#include "stdio.h"<BR>#include "malloc.h"<BR>#include "string.h"<BR><BR>int cmp(char *p1,char *p2)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int num=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(*p1 &amp;&amp; *p2 &amp;&amp; *p1==*p2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;num++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;return num;<BR>}<BR>main()<BR>{<BR>char *temp;<BR>char *str1="adggabcdert";<BR>char *str2="dfggabcdstt";<BR>puts(str1);<BR>puts(str2);<BR>int m,n;<BR>m=0;<BR>temp=NULL;<BR>char * pstr2 =str2;<BR>char * p;<BR>while(*str1!='\0')<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(*str2!='\0')<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;if(str1[0]=='a')<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n=cmp(str1,str2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(n&gt;m)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m=n;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p = str2;<BR>&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strcpy(temp,str1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;str1++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;str2 =pstr2;<BR>}<BR> <BR>temp = (char*)malloc(m+1);<BR>strncpy(temp,p,m);<BR>temp[m] = '\0';<BR>puts(temp);<BR>printf("m=%d",m);<BR><BR>return 0;<BR>}<BR><BR>2003-1-2 21:45:04

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -