下列给定程序中,函数fun()的作用是,将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入"Ab,cD",则输出"ab, cd"。请改正函数fun()中的错误,使它能得出正确的结果。注童:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <stdio.h>include <string.h>include <conio.h>char *fun (char tt[]){int i;for(i=0; tt[i]; i++)/**************

题目

下列给定程序中,函数fun()的作用是,将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入"Ab,cD",则输出"ab, cd"。

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

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

试题程序:

include <stdio.h>

include <string.h>

include <conio.h>

char *fun (char tt[])

{

int i;

for(i=0; tt[i]; i++)

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

{ if(('A' <=tt[i]||(tt[i]<='z' ))

tt[i]+=32; }

return(tt);

}

main()

{int i;

char tt[81];

clrscr();

printf("\nPlease enter a string:");

gets(tt);

printf("\nThe result string is:\n %s", fun(tt));

}


相似考题
更多“下列给定程序中,函数fun()的作用是,将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。 ”相关问题
  • 第1题:

    下列给定程序中,函数fun()的作用是:将字符串tt中的小写字母都改为对应的大写字母,其他字符不变。例如,若输入“edS,dAd”,则输出“EDS,DAD”。

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

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

    试题程序:

    include <stdio.h>

    include <string.h>

    include <conlo.h>

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

    char fun(char tt[ ])

    {

    int i;

    for(i=0;tt[i];i++)

    {

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

    if((tt[i]>='A')&&(tt[i]<='2'))

    tt[i]-=32;

    }

    return(tt);

    }

    main()

    {

    int i;

    char tt[81];

    clrscr();

    printf("\nPlease enter a string:");

    gets(tt);

    printf("\nThe result string iS:/n%s", fun(tt));

    }


    正确答案:(1)错误:char fun(char tt[]) 正确:char*fun(char tt[ ]) (2) 错误:if((tt[i]>=‘A’)&&(tt[i]=‘Z’)) 正确:if((tt[i]>=‘a’)&&(tt[i]=‘z’))
    (1)错误:char fun(char tt[]) 正确:char*fun(char tt[ ]) (2) 错误:if((tt[i]>=‘A’)&&(tt[i]=‘Z’)) 正确:if((tt[i]>=‘a’)&&(tt[i]=‘z’)) 解析:错误1:函数的返回值是字符串的首地址,是指针类型,所以在函数名前要加'*'号。错误2:题目要求将小写字母改为大写字母,所以if语句的判断条件是小写字母。

  • 第2题:

    下列给定程序中,函数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++;”。

  • 第3题:

    14、strupr()函数可以将字符串常量中的小写字母变成大写字母。


    错误

  • 第4题:

    下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其他字符不变。

    例如,若输入“Ab,cD”,则输出“AB,CD”。

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

    注意:部分源程序在文件MODIl.C中,不得增行或删行,也不得更改程序的结构!


    正确答案:
    (1)if((tt[i]>=’a’)&&(tt[i]<=‘z’))(2)tt[i]一=32;【考点分析】本题考查:if语句条件表达式;小写字母转大写字母的方法。【解题思路】(1)分析本题可知,要判断字符是否为小写字母,即判断其是否在a—z之间,所以这里需要进行连续的比较,用&&。(2)从ASCIl码表中可以看出,小写字母的ASCIl码值比对应大写字母的ASCIl值大32。将字符串中的小写字母改为大写字母的方法是:从字符串第一个字符开始,根据ASCIl码值判断该字母是不是小写字母,若是,则ASCIl码值减32即可。

  • 第5题:

    下列给定程序中,函数proc()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。

    例如,若输入“I,anl,A,Student”,则输出“i,am,a,student”。

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

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

    试题程序:


    正确答案: