假如s是字符型参数,下面函数的功能是: def f(s): if len(s)==1: return s else: return s[-1]+f(s[0:-1])A.返回s字符串B.返回s字符串的逆串(注:"abcd"的逆串是"dcba")C.返回s字符串的前半部分子串D.返回s字符串的后半部分子串

假如s是字符型参数,下面函数的功能是: def f(s): if len(s)==1: return s else: return s[-1]+f(s[0:-1])

A.返回s字符串

B.返回s字符串的逆串(注:"abcd"的逆串是"dcba")

C.返回s字符串的前半部分子串

D.返回s字符串的后半部分子串


参考答案和解析
B

相关考题:

下面程序的运行结果是: 【 17 】 。#include stdio.hint f(int a[],int n){ if(n1)return a[0] + f(a+1, n-1);elsereturn a[0];}main(){ int aa[10]={1,2,3,4,5,6,7,8,9,10}, s;s = f(aa+2,4); printf("%d\n", s);}

●试题二阅读下列函数说明和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) ;}}

( 33 )有以下程序#include studio.hint f ( int t[],int n ) ;main{ int a[4]={1,2,3,4},s;s=f ( a,4 ) ; printf ( " %d\n " ,s ) ;}int f ( int t[],int n ){ if ( n0 ) return t[n-1]+f ( t,n-1 ) ;else return 0 ;}程序运行后的输出结果是A ) 4B ) 10C ) 14D ) 6

以下与库函数strcmp(char *s, chat *t)的功能相等的程序段是()。 A.strcmp1(char *s, chat *t){ for ( ;*s++==*t++ ;)if (*s=='\0') return 0return (*s-*t)}B.strcmp2(char *s, char *t){ for( ;*s++==*t++ ;)if (!*s) return0return (*s-*t)C.strcmp3(char *s, char *t){ for ( ;*t==*s ;){ if (!*t) return 0t++s++}return (*s-*t)}D.strcmp4(char *s, char *t){ for( ;*s==*t;s++,t++)if (!*s) return 0return (*t-*s)}

阅读下列函数说明和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);}}

( 8 )已知有函数 f 的定义如下:int f(){static int s=0;s+=2;return s;}则在某程序中第 2 次执行函数调用语句 f( ) ; 时 , 函数 f 的返回值是 ___________ 。

试题二(共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;}

阅读以下函数fun(char *sl,char *s2){ int i=0;while(sl[i]==s2[i]s2[i]!='\0') i++;return(sl[i]=='\0's2[i]=='\0');}此函数的功能是A.将s2所指字符串赋给s1B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0D.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0

阅读下面程序: include int fun2(int m) { if(m%3==0) return 1; else return 0; } 阅读下面程序:include <iostream.h>int fun2(int m){if(m%3==0)return 1;elsereturn 0;}void fun1(int m, int s){int i;for (i=1; i<m; i++)if(fun2(i))S=S*i;}void main(){int n=9, s=2;fun1(n, s);cout<<s<<end1;}该程序的运行结果是【 】。

从切片中删除一个元素,下面的算法实现正确的是() A.func (s *Slice)Remove(value interface{}) error {for i, v := range *s { if isEqual(value, v) { if i== len(*s) - 1 { *s = (*s)[:i] }else { *s = append((*s)[:i],(*s)[i + 2:]...) } return nil }}return ERR_ELEM_NT_EXIST}B.func (s *Slice)Remove(value interface{}) error {for i, v := range *s { if isEqual(value, v) { *s = append((*s)[:i],(*s)[i + 1:]) return nil }}return ERR_ELEM_NT_EXIST}C.func (s *Slice)Remove(value interface{}) error {for i, v := range *s { if isEqual(value, v) { delete(*s, v) return nil }}return ERR_ELEM_NT_EXIST}D.func (s *Slice)Remove(value interface{}) error {for i, v := range *s { if isEqual(value, v) { *s = append((*s)[:i],(*s)[i + 1:]...) return nil }}return ERR_ELEM_NT_EXIST}

阅读以下函数 fun(char *sl,char *s2) { int i:0; while(sl[i]==s2[i]s2[i]!='\0') i++; return(sl[i]=='\0's2[i]=='\0'); } 此函数的功能是A.将s2所指字符申赋给s1B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为oD.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为o

对于下面的程序includeincludechar *scmp(char*s1,char*s2){if(strcmp(s1, 对于下面的程序 #include<stdio.h> #include<string.h> char *scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i:char string[20],sb[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[21)); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为______。A.abcdB.abbaC.abcD.abca

以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址#include <stdio.h>#include <string.h>char *scmp(char *s1, char *s2){ if(strcmp(s1,s2)0)return(s1);else return(s2);}main( ){ int i; char string[20], str[3][20];for(i=0;i3;i++) gets(str[i]);strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/strcpy(string,scmp(string,str[2]));printf("%s\n",string);}若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为A.abcdB.abbaC.abcD.abca

下面程序的运行结果是[]。include int f(int a[],int n){ if(n>1)return a[0]+f(a+1,n-1 下面程序的运行结果是[ ]。include <stdio.h>int f(int a[],int n){ if(n>1)return a[0]+f(a+1,n-1);elsereturn a[0];}main(){int aa[10]={12,3,4,5,6,7,8,9,10},s;s=f (aa+2,4); printf("%d\n",s); }

若有以下程序:include using namespace std;int f(){static int i = 0;int s = 1;s+= 若有以下程序: #include <iostream> using namespace std; int f() { static int i = 0; int s = 1; s+=i; i++; return s; } int main() { int i,a = 0; for(i = 0;i<5;i++) a+=f(); cout<<a<<endl; return 0; } 程序运行后,输出的结果是A.20B.24C.25D.15

以下程序中函数scmp功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#includ<string. h>char *scmp(char *s1,char *s2){ if(strcmp(s1,s2)<0) return(s1); else return(s2);}main(){ int i;char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); //库函数 strcpy 对字符串进行复制 strcpy(string,scmp(stfing,str[2])); puts(string); }若运行时依次输入: abed、abba 和abc三个字符串,则输出结果为( )。A.abedB.abbaC.abcD.abca

若给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;}

函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当st时返回正值,当st时返回负值,请填空。mycmp( char *s,char *t){ while (*s==*t) { if (*s==’\0’)return 0; ++s;++t; } return();}

以下程序通过函数sunFun求。这里f(x)=x2+1main( ){ printf("The sum=%d\n",SunFun(10)); }SunFun(int n){ int x,s=0;for(x=0;x<=n;x++) s+=F(【 】);return s;}F( int x){ return 【 】);}

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明1]本程序输入一字符串,并将其中的大写字母变成小写字母。[C函数1]include<stdio.h>void main(){ int i=0;char s[120];printf("Enter a string.\n");scanf("%s",s);while( (1) ){if( (2) )s[i]=s[i]-'A'+'a';i++;}printf("%s\n",S);}[说明2]本程序用二分法,在已按字母次序从小到大排序的字符数组list[len]中,查找字符c,若c在数组中,函数返回字符c在数组中的下标,否则返回-1。[C函数2]int search(char list[],char c,int len)( intlow=0,high=len-1,k;while( (3) );k=(10w+high)/2;if( (4) ) return k;else if( (5) )high=k-1;else low=k+1;return -1;}

阅读以下函数说明和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);}}

阅读以下函数: 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

有以下程序:includeint f(int t[],int n);main(){int a[4]={1,2,3,4},s;s=f(a,2);prin 有以下程序: #include<stdio.h> int f(int t[],int n); main() {int a[4]={1,2,3,4},s; s=f(a,2);printf("%d\n",s); } int f(int t[],int n) {if((n>0)(n<5))return t[n+1]+f(t,n-1); else return 0; } 程序运行后的输出结果是( )。A.4B.7C.10D.61

以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。 #include<string> char*scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0) return(s1); else retrun(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i+A.abcdB.abbaC.abcD.abca

阅读以下函数 fun(char *s1,char *s2) { int i=0; while(s1[i]==s2[i]s2[i]!='\0')i++; return(s1[i]=='\0's2[i]=='\0'); } 此函数的功能是A.将s2所指字符串赋给s1B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0D.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0

阅读下列说明和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) ); }}

单选题有以下程序:#include int f(int t[],int n);main(){ int a[4]={1,2,3,4},s; s=f(a,4); printf(%d,s);}int f(int t[],int n){ if(n0)return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是(  )。A4B10C14D6