当运行以下程序时,输入 abcd ,程序的输出结果是 : 【 9 】 。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);}

题目

当运行以下程序时,输入 abcd ,程序的输出结果是 : 【 9 】 。

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);

}


相似考题
参考答案和解析
正确答案:
(9) 【 9 】 a*b*c*d*
解析 : 在子程序中 , 如果条件成立 , 则执行下面的语句 , 如果不成立 , 跳过。最后的输出结果 是a*b*c*d* 。
更多“当运行以下程序时,输入 abcd ,程序的输出结果是 : 【 9 】 。insert(char str[]){ int i;i=strl ”相关问题
  • 第1题:

    以下程序运行后输入:3,abcde<回车>,则输出结果是【 】include move(char *str,

    以下程序运行后输入:3,abcde<回车>,则输出结果是【 】

    include <string.h>

    move(char *str, int n)

    { char temp; int i;

    temp=str[n-1];

    for(i=n-1;i>0;i--) str[i]=str[i-1];

    str[0]=temp;

    }

    main( )

    { char s[50]; int n, i, z;

    scanf("%d,%s",&n,s);

    z=strlen(s);

    for(i=1; i<=n; i++) move(s, z);

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

    }


    正确答案:cdeab
    cdeab 解析:本题主要考查函数move()的功能。经过分析可知,每次调用该函数时,都是把最后一个字符移到串的最前端,而原先的第一个字符至倒数第二个字符顺次后移。

  • 第2题:

    以下程序段的输出结果是 ______。includevoid main(){ char*p[5]={"ABCD","EF","GHI

    以下程序段的输出结果是 ______。 #include<iostream.h> void main(){ char*p[5]={"ABCD","EF","GHI","JKL","MNOP"}; char **q=p; int i; for(i=0;i<=4;i++) cout<<q[i]; }

    A.ABCDEFGHIJKL

    B.ABCD

    C.ABCDEFGHIJKMNOP

    D.AEGJM


    正确答案:C

  • 第3题:

    当运行以下程序时,输入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);

    }


    正确答案:a*b*c*d*
    a*b*c*d* 解析:字符处理函数strlen()测试字符串常量的长度,不包括‘\0’在内。因此,函数insert()实现了将字符数组中每个非‘\0’的字符后插入字符‘*’的功能。故输出结果是a*b*c*d*。

  • 第4题:

    有以下程序

    inculde <stdio.h>

    inculde <string.h>

    void Fun(char*str)

    { char temp;int n,I;

    n=strlen(str);

    temp=str[n-1];

    For(i=n-1;i>0;i--) str[i]=str[i-1];

    str[0]=temp;

    }

    main()

    { char s[50];

    ScanF(“%s”,s);Fun(s);printF(“%s\n”,s);}

    程序运行后输入:aBcDeF<回车>,则输出结果是【 】


    正确答案:fabcde
    fabcde 解析:在函数fun中,先求出字符串str的长度,并将最后一个字符暂存到temp中,然后使用循环语句将所有字符向右移动一个位置,最后将temp中的字符放到字符串的第1个位置,所以结果为fabcde。

  • 第5题:

    阅读下列程序,当运行程序时,输入asd af aa z67,则输出为()。includeint fun (char *str

    阅读下列程序,当运行程序时,输入asd af aa z67,则输出为( )。 #include <sldio.h> int fun (char *str) { int i,j=0; for(i=0;str[i]! ='\0';i++) if(str[i]! =") str[j++]=str[i]; str[j]='\0'; } main() { char str[81]; int n; printf("Input a string:"); gets(str); fun(str); printf("%s\n",str); }

    A.asdafaaz67

    B.asd af aa z67

    C.asd

    D.z67


    正确答案:A
    解析:本题题意是删除字符串中所有空格。由于C语言中没有直接删除字符的操作,所以删除字符的操作都是采用“留下”字符的算法来实现。从串头str[0]到串尾逐一比较,判断其是否为空格,若不是空格,则将其保存在str[j]中,最后加串结束符“\0”。