回文是一个顺读和倒读都相同的字符串,如英文单词madam,noon等。设字符串采用堆分配存储,附件中的函数Palindrome 用于判断字符串是否为回文。要求:在程序空白处补全代码(标记为1、2、3),并在标记4处填写该算法的时间复杂度。
回文是一个顺读和倒读都相同的字符串,如英文单词madam,noon等。设字符串采用堆分配存储,附件中的函数Palindrome 用于判断字符串是否为回文。要求:在程序空白处补全代码(标记为1、2、3),并在标记4处填写该算法的时间复杂度。
参考答案和解析
对
相关考题:
●试题二阅读下列函数说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。【函数2.1说明】函数palindrome(char s[])的功能是,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:"LEVEL"是回文字符串,而"LEVAL"不是。【函数2.1】int palindrome(char s[]){char*pi,*pj;pi=s;pj=s+strlen(s)-1;while(pi<pj (1) ){pi++;pj--;}if( (2) )return -1;else return 0;}【函数2.2说明】函数f(char*str,char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如若str的值为"33123333435",del的值为"3",调用此函数后,将输出3个子字符串,分别为"12"、"4"和"5"。【函数2.2】void f(char*str,char del){int i ,j ,len;len=strlen(str);i=0;while(i<len){while( (3) )i++;/*忽略连续的标志字符*//*寻找从str[i]开始直到标志字符出现的一个子字符串*/j=i+1;while(str[j]!=del str[j]!=′\0′)j++;(4) =′\0′;/*给找到的字符序列置字符串结束标志*/printf(″%s\t″,str[i]);(5) ;}}
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。【函数2.1说明】函数palindrome(char s[])的功能是,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。【函数2.1】int palindrome( char s[ ] ){ char * pi, * pj;pi=s; pj=s+strlen(s)-1;while( pi<pj(1)){pi ++ ;pj --}if((2))return -1;else return 0;}【函数2.2说明】函数f(char * str,char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出3个子字符串,分别为“12”、“4”和“5”。【函数2.2】void f( char * str, char del){ int i ,j ,len;len = strlen (str)i=0;while(i < len) {while((3))i++; /*忽略连续的标志字符*//*寻找从str[i]开始直到标志字符出现的一个子字符串*/j=i+1;while(str[j] != del str[j] ! = '\0')j ++(4): '\0'; /*给找到的字符序列置字符串结束标志*/printf("%s\t",str[i]);(5);}}
请编写函数fun(),该函数的功能是判断字符串是否为回文,若是则函数返回1,主函数中输出YES:否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。例如:字符串LEVEL是回文,而字符串123312就不是回文。注意;部分源程序已存在文件test26_.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数fun的花括号中填写若干语句。文件test26_2.cpp的内容如下:include<iostream.h>include<stdio.h>define N 80int fun(char*str){}void main(){char s[N];cout<<"Enter a string:"<<endl;gets{s);cout<<"\n\n";puts(s);if(fun(s))cout<<"YES\n";elsecout<<"NO\n";}
请补充函数fun(),该函数的功能是判断一个数是否为回文数。当字符串是回文时,函数返回字符申:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:abcba。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<string.h>include<stdio.h>char *fun(char*str){char *p1,*p2;int i, t=0;p1=str;p2=str+strlen(str)-1;for (i=0;【 】;i++)if(【 】){t=1;break;}if (【 】)return("yes!");elsereturn("no!");}main(){char str[50];printf("Input;");scanf("%s",str);printf("%s\n",fun(str));}
函数check()用来判断字符串s是否是“回文”(顺读和倒读都一样的字符串称为“回文”,如abcba)。若是回文,函数返回值为1;否则返回值为0。请完成此函数的定义。注意:部分源程序已存在考生文件夹的文件PROC7.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数check()的花括号中填写若干语句。文件PROC7.cpp的内容如下://PROC7.cppinclude<iostream>include<string>using namespace std;int check(char*s);int main(){char str[100],*p;cout<<"Input your string!";cin>>str;p=str;cout<<"The result is:"<<check(p)<<end1;}int check(char*s){// * * * * + * * *}
给定程序中,函数fun的功能是:判断形参s所指字符串是否是”回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。”回文”是正读和反读都一样的字符串:不区分大小写字母)。例如,LEVEL和Level是”回文”,而LEVLEV不是”回文”。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK.1.C中。不得增行或删行,也不得更改程序的结构!
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【函数1说明】函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符串是回文字符串。例如,“LEVEL”是回文字符串,而“LEVAL”不是。【函数1】int palindrome(char s[]{char *pi, *pj;pi=s; pj=s+strlen(s)-1;while(pi<pj(1)){pi++; pj--;}if((2))return-1;else return 0;}【函数2说明】函数f(char *str, char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如,若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。【函数2】void f(char *str, char del){int i,j, len;len=strlen(str);i=0;while(i<len){While((3)) i++; /*忽略连续的标志字符*//*寻找从str[i]开始直到标志字符出现的一个子字符串*/j=i+1;while(str[j]!=del str[j]!='\0')j++;(4)='\0'; /*给找到的字符序列置字符串结束标志*/printf("%s\t",str[i]);(5);}}
以下叙述中错误的是( )。A.gets函数用于从终端读人字符串B.getehar函数用于从磁盘文件读人字符C.fputs函数用于把字符串输出到文件D.fwrite函数用于以二进制形式输出数据到文件
请补充函数proc(),该函数的功能是判断一个数是否为素数。该数是素数时,函数返回字符串:“yes!”,否则函数返回字符串:“no!”,并在主函数中输出。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。试题程序:
试题3本程序中,函数fun的功能是判断字符串是否是回文,若是回文,则返回1,主函数中输出YES;否则,函数返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。例如,字符串LEVEL是回文,而123312就不是回文。请在函数fun的花括号中填入你编写的若干语句。(注意:不改动程序的结构,不得增行或删行。)#include stdio.h#define N 80int fun ( char *str){}main(){ char s[N];printf(“Enter a string : ”) ;gets (s) ;printf(“\n\n”) ;puts (s) ;if (fun (s))printf (“YES\n”) ;elseprintf (“N0\n”) ;nono ();}nono (){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件.*/int i;FILE *rf, *wf ;char s[N] ;rf = fopen (“bc.in”,“r”) ;wf = fopen (“bc.out”,“w”) ;for ( i=0; i10; i++ ){ fscanf (rf, “%s”,s ) ;if (fun ( s ))fprintf (wf, “%s YES\n”, s ) ;Elsefprintf(wf, “%s NO\n”, s ) ;}fclose (rf) ;fclose (wf) ;}
所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的。例如:646,1551,891232198都认为是回文数。编一个程序,输入一个正整数,判定它是否为回文数。当输入的数为0时,则退出程序,否则继续循环执行程序。
问答题所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的。例如:646,1551,891232198都认为是回文数。编一个程序,输入一个正整数,判定它是否为回文数。当输入的数为0时,则退出程序,否则继续循环执行程序。
多选题回文字符串的非递归算法:用系统函数解决的方式,需要用到哪些系统函数()。AstrcpyBstrcatCstrcmpDstrrev