以下程序用以删除字符串中所有的空格,请填空。inculde <stdio.h>main(){ char s[100]=(“our teacher teach c language!”);int I,j;For(i=j=0;s[i]!=’’)iF(s[i];s[i]!=’\0’) {s[j]=s[i];j ++}s[j]=【 】printF(“index=%d\n”,s-a);}

题目

以下程序用以删除字符串中所有的空格,请填空。

inculde <stdio.h>

main()

{ char s[100]=(“our teacher teach c language!”);int I,j;

For(i=j=0;s[i]!=’’)

iF(s[i];s[i]!=’\0’) {s[j]=s[i];j ++}

s[j]=【 】

printF(“index=%d\n”,s-a);

}


相似考题
更多“以下程序用以删除字符串中所有的空格,请填空。inculde stdio.hmain(){ char s[100]=(“our teacher teach c language!”);int I,j;For(i=j=0;s[i]!=’’)iF(s[i];s[i]!=’\0’) {s[j]=s[i];j ++}s[j]=【 】printF(“index=%d\n”,s-a);}”相关问题
  • 第1题:

    有以下程序

    #include <stdio.h>

    #include <string.h>

    void fun(char *s[],int n)

    { char *t; int i,j;

    for(i=0;i<n-1;i++)

    for(j=i+1;j<n;j++)

    if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}

    }

    main()

    { char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};

    fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);

    }

    程序的运行结果是

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A
    解析:函数fun(char *s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy", "bcc", "bbcc", "aabcc", "aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

  • 第2题:

    以下程序用以删除字符串中所有的空格,请填空。 include main() {char s[100]={"Our teac

    以下程序用以删除字符串中所有的空格,请填空。

    include<stdio.h>

    main()

    {char s[100]={"Our teacher teach C language!"};int i,j;

    for(i=j=0;s[i]!='\0';i++)

    if(s[i]!=''){( )}

    s[j]='\0';

    printf("%s\n",s);

    }


    正确答案:s[j]=s[i];j++;
    s[j]=s[i];j++; 解析:本题中相当于字符串s中存储着含有空格的字符,当发现空格的时候就用这个空格字符后面的字符前移覆盖这个空格字符,依次类推向后继续。因此,应填s[j]=s[i];j++;两条语句。

  • 第3题:

    下列程序的输出结果是( ) main() { char ch [2][5]={"6934","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); }

    A.6385

    B.69825

    C.63825

    D.693825


    正确答案:A

  • 第4题:

    有以下程序 include include void fun(char s[][10],int n

    有以下程序 #include <stdio.h> #include <string.h> void fun(char s[][10],int n) { char t; int i j; for (i=0; i<n-1; i++) for 0--i+l; j<n; j++) /*比较字符串的首字符大小,并交换字符串的首字符*/ if(s[i][0] > s[j][0]) { t = s[i][0]; s[i][0] = s[j][0]; s[j][0] = t;} } main() { char ss[5][10]= {"bcc", "bbcc", "xy", "aaaacc", "aabcc" }; fun(ss, 5); printf("%s,%s\n", ss[0],ss[4]); } 程序的运行结果是

    A.xy, aaaacc

    B.aaaacc,xy

    C.xcc,aabcc

    D.acc,xabcc


    正确答案:D
    解析:在函数fun()中有一个两层嵌套的for循环,外循环变量i从0递增到n-2,内循环变量i从i+1循环递增到n-1,这是选择排序算法的标准结构。循环体中因为逆序条件为“s[i][0]> s[j][0]”,所以实现的是升序排序。由此可见,fun()函数实现的功能是对一个二维字符数组前n行的首字符进行升序排序。主函数中定义的二维数组初始化为{"bcc",”bbcc", "xy","aaaacc","aabcc"},通过fun()函数的排序后,结果将为acc","abcc","by", "baaacc","xabcc"}。故最终输出字符串ss[0]和ss[4]的结果为acc,xabcc,应该选择D。

  • 第5题:

    以下程序的输出结果是______。 main() { char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) s=10*s+p[i][j]-'\0'; printf("%d\n",s); }

    A.69825

    B.59713

    C.6385

    D.693825


    正确答案:C
    解析:p是指向字符的指针数组。执行第1个循环后,p[0]指向字符数组ch的第1行"6937",p[1]指向字符数组ch的第2行"8254",那么p[0][0]其实就对应着ch[0][0],表示第1行的第1个元素“6”。第2个循环中,外层i循环是控制指针数组p的,内层j循环则是对每一行内的各个元素进行处理,特别注意循环变量j的改变"j+=2"。这样就可以看出是对ch[0][0]、ch[0][2]、ch[1][0]和ch[1][2]进行处理。

  • 第6题:

    有如下程序 main() { char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s);} 该程序的输出结果是

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C
    解析: 该题稍微难一点。主要要搞清楚以下几点:①定义了一个指针数组char*p[2]后,程序中第一个循环for(i=0;i2;i++)p[i]=ch[i];的作用,是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向二维数组ch的第二行字符串,这样,就使指针数组p和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“693

  • 第7题:

    下面程序的运行结果是( )。 #inelude<stdio.h> void del(char*s) { int i,j; char*a; a=s: for(i=0,j=0;a[i]!=\0;i++) { if(a[i]>=0&&a[i]<=9) {s[j]=a[i]; j++; } s[j]=\0; } } main { char*s="aa89gggh"; del(s): printf("\n%s",s); }

    A.1

    B.2

    C.3

    D.4


    正确答案:D
    本题中del(char*s)函数实现的功能是:逐个读入S数组中的字符,如果遇到数字,则将数字存在s中,遇到非数字字符则跳过。所以最后输出的应该是字符串S中所有的数字的个数。

  • 第8题:

    以下程序运行后,输出结果是______。 main() {char ch[2][5]={"693","825"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>='0'&&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); }

    A.6385

    B.22

    C.33

    D.693825


    正确答案:A

  • 第9题:

    有以下程序includeincludevoidfun(char,*s[],intn){char*t;inti,j; for(i=

    有以下程序 #include <stdio.h> #include <string.h> void fun(char,*s[],int n) { char *t; int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;} } main() { char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5); printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A
    解析:函数fun(char,s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

  • 第10题:

    若输入 "I am a boy!",下列程序的运行结果为______。 char connect(string1,string2,string) char string1[],string2[],string[]; { int i,j; for (i=0;stringl[i] !='\0';i++) string[i]=stringl[i]; for (j=0;string2[j] !='\0';j++) string[i+j]=string2[j]; string[i+j ] ='\0'; } main ( ) { char s1 [100] , s2 [100] , s [100]; printf ("\n 输入 string1: \n"); scanf("%s",s1); printf (" \n 输入 string2: \n" ); scanf ("%s", s2); connect (s1, s2, s); printf ("%s\n", s); }

    A.I am a boy!

    B.输入string2:

    C.I am

    D.I am a boy!


    正确答案:C

  • 第11题:

    有以下程序

    #include <stdio.h>

    #include <string.h>

    void fun(char s[][10],int n)

    {char t; int i,j;

    for(i=0;i<n-1;i++)

    for(j=i+1;j<n;j++)

    /*比较字符串的首字符大小 ,并交换字符串的首字符*/

    if(s[i][0]<s[j][0]) {t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;}

    }

    main()

    {char ss[5][10]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};

    fun(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);

    }

    程序的运行结果是( )。

    A.xy,aaaacc

    B.aaaacc,xy

    C.xcc,aabcc

    D.acc,xabcc


    正确答案:D

  • 第12题:

    单选题
    有以下程序:#include #include void fun(char *s[],int n){ char *t; int i,j; for(i=0;i  for(j=i+1;j   if(strlen(s[i])>strlen(s[j]))   {    t=s[i];    s[i]=s[j];    s[j]=t;   }}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5); printf("%s,%s",ss[0],ss[4]);}程序的运行结果是(  )。
    A

    xy,aaaacc

    B

    aaaacc,xy

    C

    bcc,aabcc

    D

    aabcc,bcc


    正确答案: B
    解析:
    函数fun的功能:将字符串数组 s中前n个字符串按照字符串的长度由小到大进行排序,要求输出数组的第一个和第五个字符串的内容,答案选择A选项。

  • 第13题:

    现在有如下程序

    #include "stdio.h"

    main()

    {char s[80];

    int i,j;

    gets(s);

    for(i=j=0;s[i]!=′\0′;i++)

    if(s[i]!=′H′______)

    s[j]=′\0′;

    puts(s);}

    这个程序段的功能是删除输入的字符串中字符′H′,则空线上应当添入的是

    A.s[j++]=s[i];j++;

    B.s[j]=s[i++];j++;

    C.s[j++]=s[i];

    D.s[j]=s[i];


    正确答案:C

  • 第14题:

    下列程序的输出结果是______。main(){ char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s);}

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C

  • 第15题:

    已知C源程序如下: include include void reverse(char S[]){ int C,i,J; f

    已知C源程序如下:

    include<stdio. h>

    include<string. h>

    void reverse(char S[]){

    int C,i,J;

    for(i=0,j=strlen(s)-1;i<j;i++,j++){

    c=s[i];

    s[i]=s[j];

    s[j]=c;

    }

    }

    void getHex(int number,char s[]){

    int I;

    i=0;

    while(number>0){

    if(number%16<10)

    s[i++]=number%16+'0';

    else

    switch(number%16){

    case 10:s[i++]='A';break;

    case 11:s[i++]='B';break;

    case 12:s[i++]='C';break;

    case 13:s[i++]='D';break;

    case 14:s[i++]='E';break;

    case 15:s[i++]='F';break;

    default:printf("Error");break;

    }

    number/=16;

    }

    s[i]:'\o';

    reverse(s);

    }

    int main(){

    unsigned int number;

    int i=0:

    char s[50];

    printf("%s","please input number;\n");

    scanf("%d",&number):

    getHex(number,s);

    i=0;

    while(s[i])

    printf("%c",s[i++]);

    return 0;

    }

    画出程序中所有函数的控制流程图。


    正确答案:流程图
    流程图

  • 第16题:

    以下程序运行后,输出结果是 ( ) main( ) {char ch[2][5]={"693","825"},*p[2]; int i,j,s=0; for(i=0;i<2;i+ +)p[i]=ch[i]; for(j=0;j<2;j+ +) for(j=0;p[i][j]>='0'& & p[i][j]<='9';j+=2) s=10 * s+p[i][j]-'0'; printf("%d\n",s); }

    A.6385

    B.22

    C.33

    D.693825


    正确答案:A

  • 第17题:

    有以下程序:includeincludevoid fun(char*s[],int n){char*t;int i,j;for(

    有以下程序: #include<stdio.h> #include<string.h> void fun(char*s[],int n) { char*t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;} } main() { Char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5);printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是( )。

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A

  • 第18题:

    有以下程序includeincludevoidfun(char*s[],intn){char*t;int i,j;for(i=0

    有以下程序 #include <stdio.h> #include <string.h> void fun(char *s[],int n) { char *t; int i,j; for(i=0;i<n-1;++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i];s[j];s[j]=t;} } main() { char *ss[]={"bcc

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A
    解析: 函数fun(char*s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy","bcc"," bbcc","aabcc","aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

  • 第19题:

    下列给定程序中,函数fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。

    请改正程序中的错误,使它能得到正确结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include<stdio.h>

    include<conio.h>

    void fun(char*S)

    {

    int i,j;

    for(i=0,j=0;s[i]! ='\0';i++)

    /*************found************/

    if((s[i]>='A'&&s[i]<='Z')&&(s[i]>= 'a'&&S[i]<='z',))

    s[j++]=s[i];

    /*************found*************/

    s[j]=“\0”;

    }

    main()

    {

    char item[80];

    clrscr();

    printf(“\nEnter a string:”);

    gets(item);

    printf(“\n\nThe string is:\%S\n",item);

    fun (item);

    printf("\n\nThe string of changing

    is:\%S\n",item);

    }


    正确答案:(1)错误:if(s[i]>='A'&&s[i]='Z')&&(s[i]>='a'&&s[i]='z')) 正确:if((s[i]>='A'&&s[i]='Z')||s[i]>='a'&&s[i]='z')) (2) 错误:s[j]="\0" 正确:s[j]='\0'
    (1)错误:if(s[i]>='A'&&s[i]='Z')&&(s[i]>='a'&&s[i]='z')) 正确:if((s[i]>='A'&&s[i]='Z')||s[i]>='a'&&s[i]='z')) (2) 错误:s[j]="\0" 正确:s[j]='\0' 解析:错误1:字母包括小写字母和大写字母,这里是“或”的关系,所以用“||”运算符。错误2:字符串的结束标志符为字符,而不是字符串。

  • 第20题:

    下面程序的运行结果是

    #include<stdio.h>

    void delch(char *s)

    { int i,j;

    char *a;

    a=s;

    for(i=0,j=0;a[i]!=′\n′;i++)

    if(a[i]>=′0′ &&a[i]<=′9′)

    {s[j]=a[i]; j++;}

    s[j]=′\0′;}

    main()

    { char *item="a34bc";

    delch(item);

    printf("\n%s",item);}

    A.abc

    B.34

    C.a34

    D.a34bc


    正确答案:B
    解析:考查用指针引用字符串元素的方法。指针a通过数组元素下标来从头逐个地引用字符串item中的字符,判断不是0~ 9之间的数字时,就去掉这个字符,所以程序结束后,字符串item中就只剩下和两个字符了。

  • 第21题:

    下面程序的运行结果是()。includevoid delch(char *s){ int i,j;char*a;a=s;for(i=0,j=

    下面程序的运行结果是( )。 #include<stdio.h> void delch(char *s) { int i,j; char*a; a=s; for(i=0,j=0;a[i]!='\0' ;i++) if(a[i]>='0' &&a[i]<='9') { s[j]=a[i]; j++;} s[j]='\0'; } main() { char*item="a34bc"; delch(item); printf("\n%s" ,item);}

    A.abc

    B.34

    C.a34

    D.a34bc


    正确答案:B
    解析:指针a通过数组元素下标来从头逐个的引用字符串item中的字符,判断不是0~9之间的数字时,就去掉这个字符,所以程序结束后,字符串item中就只剩下34两个字符了。注意:形参为指针变量时,实参和形参之间的数据传递。

  • 第22题:

    ( 14 )以下程序用以删除字符串所有的空格,请填空。

    #include <stdio.h>

    main ()

    { char s[100]={ " Our teacher teach C language! " };int i,j;

    for ( i=j=0;s[i]!= ’ \0 ’ ;i++ )

    if ( s[i]!= ‘ ’ ) {s[j]=s[i];j++;}

    s[j]= 【 14 】

    printf ( " %s\n " ,s ) ;

    }


    正确答案:

  • 第23题:

    main( )

    { int a[6]={10,20,30,40,50,60},i;

    invert(a,0,5);

    for(i=0;i<6;i++) printf(“%d,”,a[i]);

    printf(“\n”);

    }

    invert(int s[ ],int i,int j)

    { int t;

    if(i<J)

    { invert(s,i+1j-1);

    t=s[i];s[i]=s[j];s[j]=t;

    }

    }


    正确答案:
    3.60,50,40,30,20,10,