编写算法,实现顺序串的基本操作StrReplace(S,T,V)。

编写算法,实现顺序串的基本操作StrReplace(S,T,V)。


参考答案和解析
答:void StrAssign(Stringtype &T.char chars&#)//用字符数组 chars 给串 T 赋值{        for (i=0, T[0]=0; chars[i]; T[0]++, j++) T[i+1]=chars[i];}//StrAssign

相关考题:

请编写函数fun(),其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。例如,当s所指字符串中的内容为ABCDEFGHIJK,则在t所指数组中的内容应是BDFHJ。注意:部分源程序给出如下。请勿改动主函数main口其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<conio. h>include<stdio .h>include<string.h>void fun(char *s,char t[]){}main ()char s[l00] ,t[l00];clrscr ();printf("%nPlease enter string S: ");scanf("%s ",s);fun(s,t);prlntf("\nThe result is:%s\n ",t);}

下面函数的功能是()sss(s,t)char*s,*t;{ while((*s)&&(*t)&&(*t++==*s++));return(*s- * t); }A.求字符串的长度B.比较两个字符串的大小C.将字符串s复制到字符串t中D.将字符串s接续到字符串t中

设某语言的语法规则用上下文无关文法G=(N,T,P,s)表示,其中N是非终结符号的集合,T是终结符号的集合,P是产生式集合,s是开始符号,令V=N∪T,那么符合该语言的句子是( )。A.从s出发推导的、仅包含T中符号的符号串B.从N中符号出发推导的、仅包含T中符号的符号串C.从S出发推导的、包含V中符号的符号串D.从N中符号出发推导的、包含V中符号的符号串

求字符串T在字符串S中首次出现的位置的操作称为()。A、串的模式匹配B、求子串C、求串的长度D、串的连接

编写算法,实现下面函数的功能。函数void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。(说明:不得使用任何库函数)

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】设串s和串t采用顺序存储结构,编写函数实现串s和串t的比较操作,要求比较结果包括大于、小于和等于3种情况。【函数】int StrCompare(SStrType s, SStrType t){int n=s.length, m=(1), i,j,tag;i=0; j=0;while((2)){if((3)){i++;j++;}else if(s.str[i]>t.str[j]){tag=1;return tag;}else{tag=-1;return tag;}}if(n==m)tag=0;else if((4))tag=1;else if(n<m)tag=-1;(5);}

假设二个进程的同步算法如下:设初值 s1=1, s2=n, s3=0进程1 进程2p(s2) p(s3)p(sl) p(s1)… …v(s2) v(s3)v(sl) v(sl)在上述同步算法中,PV原语的顺序都可颠倒。() 此题为判断题(对,错)。

假定输入的字符串中只包含字母和*号。请编写函数 fun(),它的功能是:除了尾部的,:号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言的字符串函数。例如,若字符串中的内容为****A*BC*DEF*G******,删除后,字符串中的内容应当是ABCDEFG******。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<conio. h>include<stdio. h>void fun(char *a, char *p){}main ( )char s[81],*t;printf ("Enter a string: \n ");gets (s);t=s;while (*t)t++;t--; /*指针t指向字符串尾部* /while (*t== '*' )t--; /*指针t指向最后一个字母*/fun (s, t);printf ("The string after deleted: \n");puts (s);}

请编写函数fun(),该函数的功能是:将s所指字符串中 ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。例如,若s所指字符串中的内容为ABCDEFGl2345,其中字符B的ASCⅡ码值为偶数、…、字符2的ASCⅡ码值为偶数、…,都应当删除,其他依次类推。最后t所指的数组中的内容应是ACEGl35。注定:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序;include <stdio. h>include<string.h>include<conio. h>void fun(char *s, char t[]){}main ( ){char s[100],t [100];clrscr ();printf (,\nPlease enter string S: ");scanf ("%s", s);fun(s,t);printf ("\nThe result is :%s\n",t);}

程序语言的大多数语法现象可用上下文无关文法描述。对于一个上下文无关文法G=(N,T,P,S),其中N是非终结符号的集合,T是终结符号的集合,P是产生式集合,S是开始符号。令集合V=N∪T,那么G所描述的语言是(29)的集合。A.从S出发推导出的包含V中所有符号的串B.T中所有符号组成的串C.N中所有符号组成的串D.从S出发推导出的仅包含T中符号的串

下面函数的功能是( )。 sss(s,t) char*s,*t; {while(*s); while(*t) *(s++)=*(t++); return s; }A.将字符串s复制到字符串t中B.比较两个字符串的大小C.求字符串的长度D.将字符串t续接到字符串s中

下列函数的功能是set(s,t){ char *s,*t; while((*s)(*t)(*t++==*s++)); return(*s-*t);}A.求字符串的长度B.比较两字符串的大小C.将字符串s复制到字符串t中D.将字符串s连接到字符串t后

下面函数的功能是( )。 sss(s,t) char*s,*t; {while((*s)(*t)(*t++==*s++)); return(*s-*t): }A.将字符串s复制到字符串t中B.比较两个字符串的火小C.求字符串的长度D.将字符书s接续到字符串t中

编写函数模板 void change(T i,T j),能够实现整型数据、实型和字符串的交换,并编写测试的主函数。

阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。【说明】模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。如果匹配成功,返回s在t中的位置,否则返回-1。KMP算法用next数组对匹配过程进行了优化。KMP算法的伪代码描述如下:1.在串t和串s中,分别设比较的起始下标i=j=0。2.如果串t和串s都还有字符,则循环执行下列操作:(1)如果j=-l或者t[i]=s[j],则将i和j分别加1,继续比较t和s的下一个字符;(2)否则,将j向右滑动到next[j]的位置,即j =next[j]。3.如果s中所有字符均已比较完毕,则返回匹配的起始位置(从1开始);否则返回-1。其中,next数组根据子串s求解。求解next数组的代码已由get_next函数给出。【C代码】(1)常量和变量说明t,s:长度为lt和ls的字符串next:next数组,长度为ls(2)C程序#include #include#include/*求next[]的值*/void get_next( int*next, char *s, int ls) { inti=0,j=-1; next[0]=-1;/*初始化next[0]*/ while(i= ls)return (4) ;else return-1;}【问题1】(8分)根据题干说明,填充C代码中的空(1)~(4).【问题2】(2分)根据题干说明和C代码,分析出kmp算法的时间复杂度为(5)(主串和子串的长度分别为It和Is,用O符号表示)。【问题3】(5分)根据C代码,字符串"BBABBCAC"的next数组元素值为(6)(直接写素值,之间用逗号隔开)。若主串为"AABBCBBABBCACCD",子串为"BBABBCAC",则函数Kmp的返回值是(7)。

函数AAA(s,t) char*s,*t; {while(*t++); t--; while(*t++=*s++); } 的功能是:()。A、求串的长度B、比较两个串的大小C、将串s复制到串t中D、将串s连接到串t中

一个文法G={N,T,P,S},其中N是非终结符号的集合,T是终结符号的集合,P是产生式集合,S是开始符号,令集合V=N∪T,那么G所描述的语言是()的集合。A、由S推导出的所有符号串B、由S推导出的所有终结符号串C、V中所有符号组成的符号串D、V的闭包中的所有符号串

编写算法,实现带头结点单链表的逆置算法。

函数实现串的模式匹配算法,请在空格处将算法补充完整。intindex_bf(sqstring*s,sqstring*t,intstart){inti=start-1,j=0;while(ilenjlen)if(s-data[i]==t-data[j]){i++;j++;}else{i=();j=0;}if(j=t-len)return();elsereturn-1;}}/*listDelete*/

求串T在主串S中首次出现的位置的操作是()。

确定串T在串S中首次出现的位置的操作称为串的模式匹配。

下列用计算机编程解决问题的基本步骤,顺序正确的是()。A、设计算法、分析问题、编写程序、调试程序B、编写程序、调试程序、分析问题、设计算法C、分析问题、编写程序、设计算法、调试程序D、分析问题、设计算法、编写程序、调试程序

单选题有以下函数:int fun(char *s,char *t){ while((*s)(*t)(*t++==*s++)); return (*s-*t);}函数的功能是(  )。A求字符串的长度B比较两个字符串的大小C将字符串s复制到字符串t中D连接字符串s和字符串t

单选题下列用计算机编程解决问题的基本步骤,顺序正确的是()。A设计算法、分析问题、编写程序、调试程序B编写程序、调试程序、分析问题、设计算法C分析问题、编写程序、设计算法、调试程序D分析问题、设计算法、编写程序、调试程序

填空题求串T在主串S中首次出现的位置的操作是()。

填空题函数实现串的模式匹配算法,请在空格处将算法补充完整。intindex_bf(sqstring*s,sqstring*t,intstart){inti=start-1,j=0;while(ilenjlen)if(s-data[i]==t-data[j]){i++;j++;}else{i=();j=0;}if(j=t-len)return();elsereturn-1;}}/*listDelete*/

判断题确定串T在串S中首次出现的位置的操作称为串的模式匹配。A对B错

单选题函数AAA(s,t) char*s,*t; {while(*t++); t--; while(*t++=*s++); } 的功能是:()。A求串的长度B比较两个串的大小C将串s复制到串t中D将串s连接到串t中