下列给定的程序中,proc()函数的功能是:将str所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。例如,若输人:How do you do,则输出:HoW dOyoU d0。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:

题目

下列给定的程序中,proc()函数的功能是:将str所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。

例如,若输人:How do you do,则输出:HoW dOyoU d0。

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

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

试题程序:


相似考题
更多“下列给定的程序中,proc()函数的功能是:将str所指字符串中每个单词的最后一个字母改成大写(这里的 ”相关问题
  • 第1题:

    下列给定的程序中,fun()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。例如,若输入:

    I am a student to take the examination

    则应输出:I aM A studenT tO take thE examinatioN

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

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

    试题程序:

    include <conio.h>

    include <ctype.h>

    include <stdio.h>

    void fun(char *p)

    {

    int k=0;

    for ( ; *p;p++)

    if (k)

    {

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

    if (p=='')

    {

    k=0;

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

    *p=toupper(*(p-1));

    }

    }

    else

    k=1;

    }

    main()

    {char chrstr[64];

    int d;

    clrscr();

    printf("\nPlease enter an English sentence within 63 letters:");

    gets(chrstr);

    d=strlen(chrstr);

    chrstr[d==' ';

    chrstr[d+1]=0;

    printf("\nBofore changing:\n %s",chrstr);

    fun(chrstr);

    printf("\nAfter changing:\n%s",chrstr);

    }


    正确答案:(1)错误:if(p=='') 正确:if(*p=='') (2)错误:*p=toupper(*(p-1)); 正确:*(p-1)=toupper(*(p-1));
    (1)错误:if(p=='') 正确:if(*p=='') (2)错误:*p=toupper(*(p-1)); 正确:*(p-1)=toupper(*(p-1)); 解析:本题比较简单,重点考查toupper函数的用法,该函数是将ch字符转换成大写字母,该题较多地应用了字符串处理函数。

  • 第2题:

    下列给定程序中,函数proc()的功能是:将字符串str中的所有字符复制到字符串b中,要求在每复制3个字符之后插入1个空格。例如,在调用proc()函数之前给字符

    串str输入abcdefghijk,调用函数之后,字符串b中的内容则为abc def ghijk。

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

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

    试题程序:


    正确答案:

  • 第3题:

    下列给定程序中,函数proc()的功能是:将str所指字符串中的字母转换为按字母序列的后续字母(但Z转化为A,z转化为a),其他字符不变。

    请修改函数proc()中的错误,使它能得出正确的结果。

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

    试题程序:


    正确答案:

    (1)错误:while(*str!="@")
    正确:while(*str)
    (2)错误:(*str)++;
    正确:str++;


  • 第4题:

    请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。

    例如,当str所指字符串中的内容为abcdefg,则在t所指数组中的内容应是bdf。

    注意:部分源程序给出如下。

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

    试题程序:


    正确答案:



    【解析】题目要求将下标为偶数的字符删除,其余字符放在新的字符数组t中。首先取出字符串str中下标为奇数的字符,将其赋值给新的字符串t,最后用ˊ\0ˊ作为字符串结束的标志。

  • 第5题:

    下列给定程序中,函数fun()的功能是:将str所指字符串中的字母转换为按字母序列的后续字母(Z转换A,z转换a),其他字符不变。

    请修改函数fun()中的错误,得出正确的结果。

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

    试题程序:


    正确答案:

    (1)错误:while(*str!=ˊ@ˊ)
    正确:while(*str)或while(*str!=ˊ\0ˊ)或while(*str!=0)
    (2)错误:(*str++);
    正确:str++
    【解析】首先判断字母是否为小写字母,如果是小写字母则进行转换。
    第一个标识下“while(*str!=ˊ@ˊ)”语句原意是str不指向字符串尾就进入下面的循环,所以对于指针判断不为结束符的语句应该是循环为真,所以应为“while(*str)”或“while(*str!=ˊ\Oˊ)”或“while(*str!=0)”。
    第二个标识下“(*str)++;”是对字符内容加1,而原题是对字符位置加1,所以将其改为“str++;”。