首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp。本程序要求输入一字符串,然后将其中的小写字母改变成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到界面。 注意:不要改动main函数,不能增行或删行,也不能
使用VC6打开考生文件夹下的源程序文件modil.cpp。本程序要求输入一字符串,然后将其中的小写字母改变成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到界面。 注意:不要改动main函数,不能增行或删行,也不能
admin
2015-05-30
49
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp。本程序要求输入一字符串,然后将其中的小写字母改变成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到界面。
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。
1 #include
2 void main()
3 {
4 int i=0,
5 char str[12 0];
6 cout<<"Enter a string endwith’?’."<
7 //********error********
8 cin.getline(str,120);
9 //********error********
10 while(str)
11 (
12 //********error********
13 if(str
>=’a’)
14 str
=str
-’a’+’A’;
15 i++;
16 }
17 cout<
18 return;
19 }
选项
答案
(1)cin.getline(str,120,’?’); (2)while(str[i]) (3)if (str[i] >= ’a’ &&str[i]<=’z’)
解析
同一英文字母的大写和小写形式的ASCII码值相差32,因此,要将小写字母转换为大写字母,只要将其对应的ASCII码值减去32即可,程序中给出的语句中,减去字符’a’的ASCII码再加上字符’A’的ASCII码正好是减去32。
[解题思路]
(1)题目中要求以输入字符“?”为结束,用于字符输入的流成员函数getline函数读入一行字符,格式cin.getline(字符数组,字符个数,终止标志字符),所以第1个标识下为“cin.getline(str,120,’?’);”。
(2)第2个标识下的“while(str)"语句应该是判断字符串str中的每一个字符是否为尾符,若不是尾符在循环中判断每一个字符是否为小写,若为小写,转换。所以应该修改为“while(slal
)”。
(3)第3个标识下的“if(str嘲>=’a’)”语句是判断字符str
是否为小写字符,而现有的语句只是判断字符是否大于’a’,但是小写字符应该是’a’到’z’,所以修改为“if(str
>=’a’&&str
<=’z’)”。
转载请注明原文地址:https://www.kaotiyun.com/show/QJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关系中的“主键”不允许取空值是指【】约束规则。
用链表表示线性表的优点是()。
已知:intn=10;那么下列语句中错误的是()。
定义重载函数时,应在参数个数或参数类型上【】。
下列说法有错误的是______。
计算机软件是______。
在进行任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()。
以下各选项组中,均是C++语言关键字的组是
下面有关重载函数的描述中正确的是
随机试题
Iwillpayavisittomyoldfriend________shecomesbackfromabroad.
关于汉字操作系统中的汉字输入码,下面叙述正确的是______。
上颌第二前磨牙与上颌第一前磨牙形态比较中,错误的是
工程造价的特点不包括( )。
阻燃型仪表电缆除阻燃特点外,还有()等优点。
中国人民银行征信管理部门应当在收到个人异议申请的()个工作日内将异议申请转交征信服务中心,征信服务中心应当在接到异议申请的()个工作日内进行内部核查。
增值税一般纳税人支付的下列运费均已取得增值税专用发票并经认证,其中不得抵扣进项税额的是()。
DSS的驱动模式是
Pentium微处理器两种典型存储器操作时序为非流水线存储器周期与______周期。
Wherecantheexpression"lameduck"beheard?
最新回复
(
0
)