当输入a1b2c3d4e时,下列程序的运行结果为______。main(){ char str[40]; printf("请输入含有4个数字字符的字符串:\n"); scanf("%s",&str); insert(str);}insert(str)char str[];{ int i; for(i=strlen(str);i>0;i--) { str[2*i)=str[i]; str[2*i-1)=' '; } printf("\n结果是:%s",str);}A.a 1 b 2 c 3 d 4 eB.1

题目

当输入a1b2c3d4e时,下列程序的运行结果为______。main(){ char str[40]; printf("请输入含有4个数字字符的字符串:\n"); scanf("%s",&str); insert(str);}insert(str)char str[];{ int i; for(i=strlen(str);i>0;i--) { str[2*i)=str[i]; str[2*i-1)=' '; } printf("\n结果是:%s",str);}

A.a 1 b 2 c 3 d 4 e

B.1 2 3 4

C.a 1 b 2

D.因输入错误,程序出错


相似考题
更多“当输入a1b2c3d4e时,下列程序的运行结果为______。main(){char str[40]; printf("请输入含有4个数 ”相关问题
  • 第1题:

    阅读下列程序,当运行函数时,输入asd af aa z67,则输出为includeincludeinc

    阅读下列程序,当运行函数时,输入asd af aa z67,则输出为 #include<stdio.h> #include<ctype.h> #include<string.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; clrscr(); printf("Input a string:"); gets(str); puts(str); fun(str); printf("%s\n",str); }

    A.asdafaaz67

    B.asdafaaz67

    C.asd

    D.z67


    正确答案:A
    解析:本题题意要求删除所有空格,即除了空格以外的其他所有字符都要留下。由于C语言中没有直接删除字符的操作,所以我们对于删除字符的操作都是采用“留下”字符的算法,以前的题目亦是如此。用str[i]从串头到串尾逐一走动,每走到一个字符都判断其是否为空格,若不是空格(注意在if()的单引号之间有一个空格),则将其保存str[j]中。注意j的下标变化、初值及最后加串结束符'\0'。

  • 第2题:

    阅读下列程序,当运行程序时,输入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”。

  • 第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题:

    阅读下列程序,当运行函数时,输入asd af aa z67,则输出为includeincludeine

    阅读下列程序,当运行函数时,输入asd af aa z67,则输出为 #include <stdio.h> #include <ctype.h> #inelude <string.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); puts(str); fun(str); printf("%s\n",str); }

    A.asdafaaz67

    B.asd af aa z67

    C.asd

    D.z67


    正确答案:A
    解析:本题题意要求删除所有空格,即除了空格以外的其他所有字符都要留下。由于C语言中没有直接删除字符的操作,所以我们对于删除字符的操作都是采用“留下”字符的算法,以前的题目亦是如此。用str[i]从串头到串尾逐一走动,每走到一个字符都判断其是否为空格,若不是空格(注意在if()的单引号之间有一个空格),则将其保存str[j]中。注意 j的下标变化、初值及最后加串结束符“\0”。

  • 第5题:

    阅读下列程序,当运行函数时,输入asd af aa z67,则输出为

    #include <stdio.h>

    #include <ctype.h>

    #include <string.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);

    puts(str);

    fun(str);

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

    }

    A.asdafaaz67

    B.asd af aa z67

    C.asd

    D.z67


    正确答案:A
    解析:本题题意要求删除所有空格,即除了空格以外的其他所有字符都要留下。由于C语言中没有直接删除字符的操作,所以我们对于删除字符的操作都是采用"留下"字符的算法,以前的题目亦是如此。用str[i]从串头到串尾逐一走动,每走到一个字符都判断其是否为空格,若不是空格(注意在if()的单引号之间有一个空格),则将其保存str[j]中。注意j的下标变化、初值及最后加串结束符'\0'。