填空题 1.  下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其他字符不变。
    例如,若输入“Ab,cD”,则输出“AB,CD”。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
    试题程序:
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    char * fun(char tt[])
    {
    int i;
    for (i=0;tt[i];i ++)
    /********found********/
    if ((tt[i]>='a')||(tt[i]<='z'))
    /********found********/
    tt[i]+=32;
    return (tt);
    }
    main()
    {
    char tt[81];
    printf("\nPlease enter a string:");
    gets(tt);
    printf("\nThe result string is:\n% s",fun(tt));
    }
  • 1、
【正确答案】 1、(1)if((tt[i]>='a')&&(tt[i] <='z'))
   (2)tt[i]-=32;    
【答案解析】[考点]
   本题考查:if语句条件表达式;小写字母转换为大写字母的方法。
   
   (1)分析本题可知,要判断字符是否为小写字母,即判断其是否在‘a’~‘z’之间,所以这里需要进行连续的比较,用&&。
   (2)从ASCII码表中可以看出,小写字母的ASCII码值比对应大写字母的ASCII值大32。将字符串中的小写字母改为大写字母的方法是:从字符串第一个字符开始,根据ASCII码值判断该字母是不是小写字母,若是,则ASCII码值减32。