''' 以如下格式逐个输出字符串中的字符 a b c d ''' str = 'abcd' i = 0 while i < len(str): print(str[i]) ######FILL###### ____
''' 以如下格式逐个输出字符串中的字符 a b c d ''' str = 'abcd' i = 0 while i < len(str): print(str[i]) ######FILL###### ____
参考答案和解析
%c
相关考题:
●试题二阅读下列函数说明和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) ;}}
当运行以下程序时,输入 abcd ,程序的输出结果是 : 【 9 】 。insert(char str[]){ int i;i=strlen(str);while(i0){ str[2*i]=str[i];str[2*i-1]='*'; i--;}printf(" % s\n",str);}main(){ char str[40];scanf(" % s",str);insert(str);}
阅读下列函数说明和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);}}
请补充main函数,该函数的功能是:从一个字符串中截取前面若干个给定长度的子字符串。其中,str1指向原字符串,截取后的字符存放在str2所指的字符数组中,n中存放需截取的字符个数。例如:当str1=“cdefghij”,然后输入4,则str2=“cdef”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<conio.h>define LEN 80main(){char str1[LEN),str2[LEN);int n,i;clrscr();printf(“Enter the string:\n”);gets(str1);printf“Enter the position of the stringdeleted:”);scanf(【 】);for(i=0;i<n;i++)【 】str2[i]=‘\0’;printf(“The new string is:%s\n”,【 】);}
请补充函数proc,该函数的功能是按条件删除一个字符串指定字符一半的数目,具体要求如下:如果该字符串所包含的指定字符的个数是奇数,则不删除,如果其数目是偶数,则删除原串后半部分的指定字符。其中,str指向原字符串,删除后的字符串存放在b所指的数组中,c中存放指定的字符。例如,当str输入“abcabcabcab”,c=b时,b的输出为“abcabcaca”;如果str的输入为“abcabcabca”,则b的输出为“abcabcabca”。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅程函数prOC的横线上填入所编写的若干表达式或语句。 试题程序: includestdlib.h includestdio.h includeconio.h define M 80 void proc(char str[],char b[],char c) { int i=0,j=0; int n=0: int m=0: while(str[i]!=\0) { if(str[i]==c) n++: i++: } 【1】 ; if(n%2) { while(str[j]!=\0 ) { b[j]=str[j]; j++; } b[j]=\0; } else { while(str[i]!=\0 ) { b[j++]=str[i]; if(str[i]==c) m++: if((mn/2)&&(str[i]==c)) 【2】 ; i++: } 【3】 ; } } void main { char str[M],b[M]; char C; system("CLS"); printf("Enter the strin9:\n"); gets(str); printf("Enter the character of the string deleted:"): scanf("%C",&c); proc(str,b,c); printf("The new string is:%s\n",b); }
请补充函数fun(),该函数的功能是:把字符下标为非素数的字符从字符串sb中删除,把字符下标为素数的字符重新保存在字符串e口中。字符串sb从键盘输入,其长度作为参数传入函数fun()。例如,输入“abcdefghijkl”,输出“cdfhl”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80void fun(char s[],int n){int i, j, k, flag;【 】;for(i=0; i<n; i++){if (i>1)s [k++] =s [i];flag=I;for(【 】; j<iflag; j++)if (i%j==0){flag=0;【 】}}s [k]='\0';}main(){int i=0, strlen=0;char str[N];clrscr ();printf("\n Input a string:\n");gets (str);while (str [i] !='\0'){strlen++;i++;}fun (str, strlen);printf("\n*** display string ***\n");puts (str);}
请补充函数fun(),该函数的功能是:把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。例如,输入“abcdef”,输出“bdf”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80void fun(char s[],int n){int i, j;j=0;for(i=0;【 】;i++){if(【 】)s [j++]-s [i];}【 】;}main ( ){int i=0, strlen=0;char str [N];clrscr ();printf ("\nInput a string: \n");gets (str);while (str [i] !='\0'){strlen++;i++;}fun(str, strlen);printf("\n*** display string ***\n");puts (str);}
执行语句序列char strl[10]="ABCD",str2[10]="XYZxyz";for (int i=0; strl[i]=str2[i]; i++)后,数组str1中的字符是XYZxyz,数组str2中的字符串是【 】。
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。请在画线处填上适当内容,实现该函数。bool fun(char*str)}int i:0,j=0;while(str[j]) (6) ;for(J--;i<jstr[i]==str[J];i++,J--);return i (7) J;}
这程序有错吗? /*写一个函数,用来返回一个字符串中重复出现的最长字串的长度及其开始地址const char*p=NULL;int len=maxsubstr("qweohiuweyowohifpw",输出:len=3,substr=ohi*/#includestdio.h#includestring.hint maxsubstr(const char *str,const char **p){ int len=0,templen=0;//len为字符串中重复出现的最长字串的长度,templen为判断过程中字符串中重复出现的字串的长度 int size=strlen(str); const char*i=str,*j=0; //i=str即i=str[0],i指向字符串的第一个字符 for(i=str;istr+size;i++){ //i依次指向字符串内的各个字符 const char *temp_i=i; //temp_i指向当前i所指字符 for(j=i+1;jstr+size;++j){ //j指向当前i所指字符的下一个字符,temp_i、j依次在总字符串中取两个字符串,temp_i在前,即在temp_i后寻找 与从temp_i开始的字符串重复长度最长的字符串 if(*temp_i==*j ++temp_i; } else if(*temp_i==*j ++temp_i; } else{ //当前所指字符不相等,temp_i需要指回i所指位置,j指回此次循环开始位置(由于for循环有++j,实际下次循环开始时往后指了一个) if(templenlen){ //判断重复出现的最长字串的长度是否改变 len=templen; templen=0; *p=i; }else{ templen=0; //就算重复出现的最长字串的长度不改变,当前长度也得清零。。。 } } } } return len;}int main(){ char str[10000]; const char*p=0; int len=0; int i=0; printf("输入带重复字符的字符串"); scanf("%s",str); len=maxsubstr(str, printf("len=%d,substr=",len); for(i=0;ilen;i++){ printf("%c",*p++); } printf("\n");}
执行语句序列char str1[10]="ABCD",str2[10]="XYZxyz";for(int i=0;strl[i]=str2[i];i++);后,数组strl中的字符串是______。
阅读以下函数说明和C语言函数,将应填入(n)处的语句写在对应栏内。【函数1.1说明】本程序可以打印出如下图形(菱形):*************************【函数2.1】main(){int i,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for((1))printf("*");printf("\n");}for(i=0;i<=2;i++){for((2))printf(" ");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}}【函数2.2说明】通过本程序,可以从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“CsaiWgm”中保存,输入的字符串以“!”结束。【函数2.2】include "stdio.h"main(){FILE *fp;char str[100],filename[10];int i=0;if((fp=fopen("CsaiWgm","w"))==NULL){printf("cannot open the file\n");exit(0);}printf("please input a string:\n");gets(str);while((3)){if(str[i]>='a'str[i]<='z')str[i]=(4);fputc(str[i],fp);(5);}fclose(fp);fp=fopen("CsaiWgm","r");fgets(str,stden(str)+1,fp);printf("%s\n",str);fclose(fp);}
请补充函数fun(),该函数的功能是:把字符串str中的字符按字符的ASCⅡ码降序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。例如,如果输入“cdefgh”,则输出为“hgfedc”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80void fun (char s [], int n){int i, j;char ch;for (i=0; i<n; i++)for(j=【 】;j<n;j++)if (s[i]<s [j]){ch=s [j];【 】;s [i] =ch;}main ( ){int i=0, strlen=0;char str [N];clrscr ();printf ("\nInput a string: \n");gets (str);while (str [i] !=' \0'){strlen++;i++;}fun (str, strlen);printf ("\n***display string ***\n");puts (str);}
函数f_str(char *str,char del)的功能是;将非申字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如,若str的值为“66981636666257”,del的值为“6”,调用此函数后,将输出3个子字符串,分别为“981”、“3”和“257”。请将函数f_str中(6)~(8)空缺处的内容填写完整。[函数]void f_str(char *str,char del){ int i,j,len;len = strlen(str);i = 0;while (i<len) {while ( (6) )i++; /* 忽略连续的标志字符 *//* 寻找从srt[i]开始直到标志字符出现的一个子字符串 */j = i+1;while (str[j] !=del str[j] !='\0')j++;(7)="\0"; /* 给找到的字符序列置字符串结束标志 */printf (" %s\t", str [i]);(8);}}
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。【程序】include < stdio. h >main( ){ FILE * fp;char str[100]; int i=0;if((fp=fopen("text.txt"(1))) ==NULL){ printf("can't open this file. \n") ;exit(0) ;}printf(" input astring: \n" ); gest(str);while( str[i] ){ if(str[i] >='a' str[i] <='z')str[i]=(2);fputc(str[i],(3));i++;}fclose(fp);fp=fopen(" test.txt",(4));fgets(str, 100, fp);printf("%s\n" ,str);(5);}
请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则 str2=“cegi”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<conio.h>define LEN 80main(){char str1[LEN],str2 [LEN];char *p1=str1,*p2=str2;int i=0,j=0;clrscr();printf("Enter the string:\n");scanf(【 】);printf("***the origial string***\n");while(*(p1+j)){printf("【 】",*(p1+j));j++;}for(i=0;i<j;i+=2)*p2++=*(str1+i);*p2='\0';printf("\nThe new string is:%s\n", 【 】 );}
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false,则横线处应填上( )。 Bool fun(char*str) { int i=0,j=0; while(str[j])j++; for(j--;i<jstr[i]==str[j];i++,j--); return i______j; }A.>==B.||C.D.<==
字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun(),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如,输入str=“1111”,x=2,y=10,结果输出:15。如果输入str=“15”, x=10,Y=2,结果输出: 1111。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>include<stdlib.h>include<string.h>define N 8int xx[N];int fun(char *str,int x,int y){int sum;int i=0;char *p=str;for(i=0; i<N; i++)xx[i]=0;sum=*p-'0';p++;while (*p){sum=【 】;p++;}i=0;while(sum!=0){xx[i]=【 】;【 】;i++;}return i;}main (){char str[6];int i;int n;int x;int y;printf("Enter a string made up of '0' to'9' digits character:");gets(str);if(strlen (str) 5){printf("Error:string too longer!,please input again!\n\n");exit(0);}for(i=0;str[i];i++)if(str[i]<'0'||str[i]>'9'){printf("Error:%c not is '0' to'9' digits character!\n\n",str[i]);exit(0);}printf("The original string: ");puts(str);printf("\nINPUT x= ");scanf("%d",x);printf("\nINPUT y= ");scanf("%d",y);n=fun(str,x,y);printf("\n%s is convered to",str);for (i=n-1; i=0; i--)printf("%d",xx[i]);}
str是全部由小写字母字符和空格字符组成的字符串,由 num传入字符串的长度。请补充函数fun(),该函数的功能是:统计字符串str中的单词个数,结果由变量num传回。每个单词之间都由空格隔开,并且字符串str开始不存在空格。例如:str=“how do you do”,结果为:num=4。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80void fun(char *s,int *num){int i,n=0;for(i=0;【 】;i++){if(s[i]>='a',s[i]<='z',(s[i+1)==’’||s[i+1]=='\0'))【 】;}【 】;}main(){char str[N];int num=0;printf("Enter a string:\n");gets(str);while(str[num])num++;fun(str,num);printf("The number of word is:%d\n\n",num);
请补充函数fun(),该函数的功能是:把ASCⅡ码为偶数的字符从字符串s打中删除,结果仍然保存在字符串srt中,字符串str从键盘输入,其长度作为参数传入函数fun()。例如,输入“abcdef”,输出“ace”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:inc lude< stdio, h>define N 80【 】{int i, j;【 】for (i=0;i<n;i++){if (s [i] %2!=0)s [j++]=s [i];}【 】;}main ( ){int i=0, strlen=0;char str[N];clrscr ();printf ("\nInput a string:\n");gets (str);while (str [i] !=' \0' ){strlen++;i++;}fun (str, strlen);printf("\n*** display string ***\n");puts (str);}
请补充函数fun(),该函数的功能是:把字符下标能铍2或3整除的字符从字符串str中删除,把剩余的字符重新保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。例如,输入“abcdefghijk”,输出“bfh”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80void fun(char s[], int n){int i, k;【 】;for(i=0; i<n; i++){s[k++]=s[i];if(【 】)k--;}【 】;}main(){int i=0,strlen=0;char str[N];clrscr();printf("\nInput a string:\n");gets(str);while(str[i]!='\0'){strlen++;i++;}fun(str,strlen);printf('\n*** display string ***\n");puts(str);}
字符串str由数字字符‘0’和‘1’组成(长度不超过8个字符),可看作二进制数,请补充函数fun(),该函数的功能是:把str字符串转换成十进制数,结果由函数返回。例如,输入“1001”,结果输出:9。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<stdlib.h>include<string.h>int fun(char *str){int n;char *p=str;【 】;p++;while (*p){n=【 】;p++;}return【 】;}main(){char str[9];int i;int n;printf ("Enter a string made up of '0' and'1' digital character:");gets (str);if (strlen(str)>8){printf ("Error:string too longer!please input again !\n\n");exit(0);}for(i=0;str[i];i++)if(str[i]<'0'||str[i]>'1'){printf("Error:%c not is '0'and'1' digital character !\n\n",str[i]);exit(0);}printf("The original string:");puts(str);n=fun(str);printf("\n%s is convered to decimalnumber:%d\n\n",str,n);}
若已包括头文件且已有定义static char str[9];,现要使str从键盘获取字符串"The lady", 若已包括头文件<stdio.h>且已有定义static char str[9];,现要使str从键盘获取字符串"The lady",应使用A.scanf("%s",str)B.for(i=0;i<9;i++)gethchar(str[i]);C.gets(str);D.for(i=0;i<9;i++)scanf("%s",str[i]);
阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。【说明】函数removeDuplicates(char *str)的功能是移除给定字符串中的重复字符,使每种字符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设置标志,并将其后的非重复字符前移。例如,若str指向的字符串为“aaabbbbscbsss”,则函数运行后该字符串为“abse”。【c代码】void removeDuplicates (char *str)int i,len = strlen (str); /*求字符串长度*/If( (l) )return;/*空串或长度为1的字符串无需处理*lfor(i=0;i<len;i++) {Int flag =O; /*字符是否重复标志*/int m:for(m =( 2 ); m<len; m++){if(str[i]==str[m] ) {__(3)_;break;}}if (flag){Int n,idx = m;/*字符串第idx字符之后、与str [i]不同的字符向前移*/For( n=idx+l; nlen. n++)if ( str[n]!= str[i]) {str[idx]= str[n]; (4);}Str[(5)]=\0; /* 设置字符串结束标志*/}}}
当运行以下程序时,输入abcd,程序的输出结果是:( )。insert(char str[]){int i;i=strlen(str);while(i>0){str[2*i]=str[i];str[2*i-1]='*';i--;}printf("%s\n",str);}main(){char str[40];scanf("%s",str);insert(str);}
阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明]函数removeDuplicates(chai *str)的功能是移除给定字符串中的重复字符,使每种字符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设置标志,并将其后的非重复字符前移。例如,若str指向的字符串为"aaabbbbscbsss",则函数运行后该字符串为"absc"。[C代码] voidremoveDuplicates(char *str) { inti,len=strlen(str); /*求字符串长度*/ if(______)return; /*空串或长度为1的字符串无需处理*/ for(i=0;i<len;i++){ int flag=0; /*字符是否重复标志*/ int m; for(m=______; m<len;m++){ if(Str[i]==str[m]){ ______; break; } } if (flag) { int n,idx=m; /*将字符串第idx字符之后、与str[i]不同的字符向前移*/ for(n=idx+1; n<len; n++) if(Str[n]!=str[i]){ str[idx]=str[n];______; } str[______]='\0'; /*设置字符串结束标志*/ } } }
下列程序的输出结果是 ()。 #include #include main( ) { int i=0; char str1[10]=“1234”, str2[10]= “567”; strcat(str1,str2); while(str2[i++]!=‘/0’) str2[i]=str1[i]; puts(str2); }
填空题下列程序的输出结果是 ()。 #include #include main( ) { int i=0; char str1[10]=“1234”, str2[10]= “567”; strcat(str1,str2); while(str2[i++]!=‘/0’) str2[i]=str1[i]; puts(str2); }