首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如,若输入“I am a student to take the examination.”,则应输出“I aM
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如,若输入“I am a student to take the examination.”,则应输出“I aM
admin
2021-02-25
85
问题
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。
例如,若输入“I am a student to take the examination.”,则应输出“I aM A studenT tO takE thE examination.”。
请修改程序中的错误之处,使它能得出正确的结果。
注意:不要改动main函数,不得删行,也不得更改程序的结构!
1 #include<ctype.h>
2 #include<stdio.h>
3 #include<string.h>
4 void fun(char *p)
5 {
6 int k=0;
7 for(;*p;p++)
8 if(k)
9 {
10 /**********found**********/
11 if(p==’ ’)
12 {
13 k=0;
14 /**********found**********/
15 (p)=toupper(*(p-1))
16 }
17 }
18 else
19 k=1;
20 }
21 main()
22 {
23 char chrstr[64];
24 int d;
25
26 printf(’’\nPlease enter an English sentence within 63 letters:’’);
27 gets(chrstr);
28 d=strlen(chrstr);
29 chrstr[d]=’ ’;
30 chrstr[d+1]=0 ;
31 printf(’’\n\nBefore changing:\n%s’’,chrstr);
32 fun(chrstr);
33 printf(’’\nAfter changing:\n%s’’,chrstr);
34 }
选项
答案
(1)if(*p==’ ’) (2)*(p-1)=toupper(*(p-1));
解析
函数的功能是将每个单词的最后一个字母改成大写。
(1)第一个错误标识下的if语句应该是判断字符串中的字符是否是空格,根据“for(;*p;p++)”语句中for循环条件中p的定义应该为字符型指针变量,*p是取p所指存取单元的值,所以“if(p==’ ’)”应该改为“if(*p==’ ’)”。
(2)题干中要求是将每个单词的最后一个字母改成大写,所以它的位置应该是挨着空格的前一个字符,应该是指针p指向字符的前一个位置,“*p=toupper(*(p-1))”是将改动的值赋给了p所指的空格,所以应该改为“*(p-1)=toupper(*(p-1));”且语句未尾应有分号。
转载请注明原文地址:https://www.kaotiyun.com/show/f6tp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是()。
设有如下程序段:#include<stdio.h>chars[20]="Beijing",*P;P=S:则执行p=S;语句后,以下叙述中正确的是()。
有以下程序:#include<stdio.h>main(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){default:printf("
以下选项中叙述正确的是()。
以下叙述中正确的是()。
在数据库中,数据模型包括数据结构、数据操作和()。
设有某函数的说明为:int*func(inta[10],intn);则下列叙述中,正确的是()。
以下能正确输出字符a的语句是()。
一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是()。
给定程序MODI1.C中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得吏改程序的结构!#include<stdio.h>
随机试题
安装压力表时应注意哪些事项?
高渗性脱水可考虑如下治疗,但哪项应除外
男,65岁。高血压病史20年,近日出现上腹部疼痛,经钡餐检查诊断为胃溃疡,除应用抗消化性溃疡药外,其控制血压药物最好选用
我国法院的裁判请求外国法院承认和执行应当具备的条件有()。
对合同执行者而言,合同跟踪的对象有( )。
出于对消费者剩余和企业利润分配公正的考虑,政府定价的规范理论通常给出了定价的预算约束,即()。[2007年真题]
高速铁路的列车行驶速度应当达到()。
在某心理学实验中,甲组31名被试成绩的方差为36,乙组25名被试成绩的方差为91,若要在0.05水平上检验甲、乙两组被试的方差差异是否具有统计学意义,正确的方法是()
Sadnessisn’tmanly—thisEricWeaverknew.WhendepressionengulfedthisNewYorkpolicesergeant,ittookadifferentguise:a
TomJohnsoncametoa(11).Hewantedtostayinasingleroomwithbath.Hemadethereservationatthe(12).Afterhearrive
最新回复
(
0
)