网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
采用递归算法,设计函数,用来实现字符串s的逆置。 递归函数fun(s),返回逆置后的字符串s
参考答案和解析
正确
更多 “采用递归算法,设计函数,用来实现字符串s的逆置。 递归函数fun(s),返回逆置后的字符串s” 相关考题
考题
有以下函数int fun(char *s){ char *t=s;while(*t++);return(t-s);}该函数的功能是A) 比较两个字符 串 的大小B) 计算 s 所指字符串占用内存字节的个数C) 计算 s 所指字符串的长度D) 将 s 所指字符串复制到字符串 t 中
考题
函数sstrcmp()的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp()),请填空。#includestdio.hint sstrcmp(char *s,char *t){ while(*s*t*s= =){s++;t++; }return;}
考题
请编写函数fun(),对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码值升序排列。例如:原来的字符串为BdsihAd,则排序后输出为 BAdhisd。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <stdio.h>include <ctype.h>include <conio.h>int fun(char*s,int num){}main(){char s[10];clrscr();printf("输入7个字符的字符串:");gets(s);fun(s,7);printf("\n%s",s);}
考题
编写一个函数fun(),它的功能是:实现两个字符串的连接(不使用库函数strcat,即把p2所指的字符串连接到p1所指的字符串后。例如,分别输入下面两个字符串:FirstStringSecondString则程序输出:FirstStringSecondString注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号小填入所编写的若干语句。试题程序:include <stdio. h>include<conio. h>void fun (char pi[],char p2[]){}main ( ){char s1[80],s2[40];clrscr ();printf("Enter s1 and s2:\n");scanf ("%s%s", s1, s2);printf ("s1=%s\n", s1);printf("s2=%s\n",s2);printf("Invoke fun(s1,s2) :\n");fun(s1,s2);printf("After invoking:\n");printf ("%s\n", s1);}
考题
有以下函数 int fun(char *s) { char *t=s; while(*t++); return(t-s); } 该函数的功能是A.比较两个字符串的大小B.计算s所指字符串占用内存字节的个数C.计算s所指字符串的长度D.将s所指字符串复制到字符串t中
考题
试题二(共15分)阅读以下说明和C函数,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。【说明1】 函数deldigit(char *s) 的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。其思路是:先申请一个与 s 等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再拷贝给s。【C函数】void deldigit(char *s){char *t = (char *)malloc( (1) ); /*申请串空间*/int i, k = 0;if (!t) return;for(i = 0; i strlen(s); i++)if ( !(*(s+i)='0' *(s+i)='9') ) {t[k++] = (2) ;}(3) = '\0'; /*设置串结束标志*/strcpy(s,t);free(t);}【说明2】函数reverse(char *s, int len)的功能是用递归方式逆置长度为 len的字符串s。例如,若串s的内容为“abcd” ,则逆置后其内容变为“dcba” 。【C函数】void reverse(char *s, int len){char ch;if ( (4) ){ch = *s;*s = *(s+len-1);*(s+len-1) = ch;reverse( (5) );}}
考题
若给fun函数的形参s传送字符串:"]]6354abcc" (其中]表示空格字符),则函数的返回值是【19】。#include ctype.hlong fun(char s[]){long n;int sign;for(;isspace(*s);s++);sign=(*s==′-′)?-1:1;if(*s==′+′||*s==′-′)s++;for(n=0;isdigit(*s);s++)n=10*n+(*s-′0′);return sign*n;}
考题
编写算法,实现下面函数的功能。函数void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。(说明:不得使用任何库函数)
考题
假定输入的字符串中只包含字母和*号。请编写函数 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(),该函数的功能是判断字符串是否为回文,若是则函数返回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(),它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较K的字符串。若两个字符串长度相等,则返回第1个字符串。例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<stdio.h>char *fun(char *s, char *t){}main(){char a[20],b[10],*p,*q;int i;printf ("Input 1th string: ");gets(a);printf{"Input 2th string: ");gets(b);printf("%s",fun(a,b));}
考题
下列给定程序中,函数fun()的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为abcdabfab,t所指字符串的内容为ab,则函数返回整数3。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:include <conio.h>include <stdio.h>include <string.h>int fun (char *s, char *t){int n; char *p, *r;n=0;while(*s){p=s;r=t;while (*r)/**************found**************/if(*r==*p) {r++; p++}else break;/*************found**************/if(r=='\0')n++;s++;}return n;}main(){char s[100], t[100]; int m;clrscr();printf("\nPlease enter string s: ");scanf ("%s",s);printf("\nPlease enter substring t: ");scanf ("%s",t);m=fun (s,t);printf("\nThe result is: m=%d\n", m);}
考题
以下说法中错误的是A.strcpy(A,B)函数是将A字符串的内容复制到B字符串中B.strlen(cha*s)返回字符串S的长度,未尾的字符不计算在内C.char a[20]="string";中字符串长度为6D.strstr(S1,S2)函数在字符串S1中从左边开始查找字符串S2,若查找成功则返回S2在S1中首次出现的位置,否则返回NULL,如果S2为"",则返回S1。
考题
若给fun函数的形参s传送字符串:"abc-6354abc",则函数的返回值是( )。(字符串中包括空格)long fun(char S[]){long n;int sign;for(;isspace(*s)||islower(*s);s++);sign=(*s=='-')?-1:1;if(*s=='+'||*s=='-')s++;for(n=0;isdigit(*s);s++)n=10*n+(*S-'0');return sign*n;}
考题
阅读以下函数: fun(char*s1, char*s2) { int i=0; while(s1[i]==s2[i] s2[i]!='\0') i++; return(s1[i]== s2{i)!=='\0'); } 此函数的功能是( )。A.将s2所指字符串赋给s1B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0D.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0
考题
请编一个函数fun(oh lr*str),该函数的功能是把字符串中的内容逆置。 例如,字符串中原有的字符串为asdf9,则调用该函数后,串中的内容为9fdsa。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所编写的若干语句。 试题程序: includestring.h includeconio.h includestdio.h define N 100 void fun(char * str) { } void main { char a[N]; FILE*out: printf("Enter a string:"); gets(a); printf("The origir al string is:"); puts(a); fun(a): printf("The string after modified:"); puts(a); strcpy(a,"Welcome!"); fun(a); ut=fopen("outfile.dat","w"); fprintf(out,"%s".a); fclose(out); }
考题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明1]函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。[C函数1]void fun(char*W,char x,int*n){ int i,P;p=0;w[*n]=x;while(x>w[p]) (1) ;for(i=*n,i>p;i--)w[i]=(2);w[p]=x;++*n;}[说明2]函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。[C函数2]void revstr(char*s){ char*p,c;if(s==NULL)return;p=(3); /*p指向字符串s的最后一个有效字符*/while(s<p){ /*交换并移动指针*/C=*s;(4)=*p;(5)=c;}}
考题
请编写一个函数void fun(char ss[]),该函数将字符串ss翻转,如ss为“123abc”则翻转后为“cba321”。注意:用数组方式及for循环来实现该函数。注意:部分源程序已存在文件test16_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数fun的花括号中填写若干语句。文件test16_2.cpp 的内容如下:include<iostream.h>include<string.h>void fun (char ss[]);void main ( ){char s[80];cout<< "请输入字符串: ";cin>>s;fun(s);cout<< "逆序后的字符串: "<< s<<end1;}void fun(char ss[]){}
考题
有以下函数: int fun(char * s) {char * t=s; while(*t++); return(t-s) 该函数的功能是______。A.比较两个字符串的大小B.计算s所指字符串占用内存字节个数C.计算s所指字符串的长度D.将s所指字符串复制到字符串t中
考题
请补充函数fun(char *s),该函数的功能是把字符串中的内容逆置。例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容变为edcba。注意;部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:$include<string.h>include<conio.h>include<stdio.h>define N 81void fun(char*s){int i=0,t,n=strlen(s);for(;【 】;i++){t=*(s+i);【 】;【 】;}}main(){char a[N];clrscr();printf("Enter a string:");gets(a);printf("The original string is:");puts(a);fun(a);printf("\n");printf("The string after modified:");puts(a);}
考题
请编一个函数fun(char*str),该函数的功能是把字符串中的内容逆置。 例如,字符串中原有的字符串为asdfg,则调用该函数后,串中的内容为gfdsa。 请勿改动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) ;}
考题
阅读下列说明和C代码,回答问题,将解答填入答题纸的对应栏内。【说明1】
函数deldigit(char *s) 的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。其思路是:先申请一个与s等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再拷贝给s。【C函数】
void deldigit(char *s)
{
char *t = (char *)malloc( (1) ); /*申请串空间*/
int i, k = 0;
if (!t) return;
for(i = 0; i if ( !(*(s+i)>=’0’
}
(3) = ’\0’; /*设置串结束标志*/
strcpy(s,t);
free(t);
}
【说明2】
函数reverse(char *s, int len)的功能是用递归方式逆置长度为len的字符串s。例如,若串s的内容为“abcd”,则逆置后其内容变为“dcba”。
【C函数】
void reverse(char *s, int len)
{
char ch;
if ( (4) )
{
ch = *s;
*s = *(s+len-1);
*(s+len-1) = ch;
reverse( (5) );
}
}
考题
问答题下列给定程序中,函数fun的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为“abcdabfab”,t所指字符串的内容为“ab”,则函数返回整数3。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/**********code.c**********/#include #include #include #include int fun(char *s, char *t){ int n; char *p, *r; n=0; while(*s) { p=s; r=t; while(*r) /**********found**********/ if(*r==*p){r++; p++} else break; /**********found**********/ if(r=='\0') n++; s++; } return n;}void main(){ char s[100],t[100]; int m; system(CLS); printf(Please enter strings:); scanf(%s,s); printf(Please enter substrings:); scanf(%s,t); m=fun(s,t); printf(The result is:m=%d, m);}/**********-code.c**********/
考题
单选题有以下函数:int fun(char *s,char *t){ while((*s)(*t)(*t++==*s++)); return (*s-*t);}函数的功能是( )。A
求字符串的长度B
比较两个字符串的大小C
将字符串s复制到字符串t中D
连接字符串s和字符串t
热门标签
最新试卷