问题 问答题

下列给定程序中,函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其他字符不变。
例如,若输入“Ab,CD”,则输出“AB,CD”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#lnclude<conio.h>
#include<stdio.h>
#include<string.h>
char*fun(char tt[])
(
int i;
for(i=O;tt[1];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));

答案

参考答案:if((tt[i]>=’a’)&&(tt[i]<=’z’))
(2)tt[i[-=32;

解析:
本题关键字有:if语句;小写字母转换为大写字母的方法;逻辑运算符。
[微分析]
(1)要判断字符是否在‘a’~‘z’之间,需要进行连续的比较,所以用&&。
(2)小写字母的ASCⅡ码值比对应大写字母的ASCⅡ值大32,所以将小写字母改为大写字母是将ASCⅡ码值减32。

单项选择题
单项选择题 案例分析题