首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如,若输入“I am a student to take the examination.”,则应输出“I a
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如,若输入“I am a student to take the examination.”,则应输出“I a
admin
2018-09-27
45
问题
给定程序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(’’\nlnBefore 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/s8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已知head指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有链结点数据域的和值,作为函数值返回。请在横线处填入正确内容。structlink{intdata;st
在树形结构中,树根结点没有【】。
若变量c为char类型,能正确判断出c为小写字母的表达式是()
用树形结构表示实体之间联系的模型是()。
若输入000051,下列程序的运行结果为______。main(){unsignedinta;scanf("%o",&a);printf("%o\n",getbits(a));}getbits(value)unsignedint
若有下列定义(设int类型变量占2个字节):floatx=123.4567;则下列语句:printf("x=%5.2f",x);输出的结果是()。
设有定义:chars[10];inti=0;,以下不能将一行(不超过100个字符)带有空格的字符串正确读入的语句或语句组是()。
已知a所指的数组中有N个元素。。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置填空。voidfun(inta[N],intk){inti:for(i=k;i
在C语言中,可以把整数以二进制形式存放到文件中的函数是()
随机试题
Youmayborrowthisdictionary______youkeepitclean.
软骨内成骨
女性,32岁,活动后心悸、气短5年,加重伴双下肢水肿3个月。查体:心界向两侧扩大,心尖部可闻及2/6级收缩期杂音,双肺底细湿啰音。心电图:完全性左束支传导阻滞,超声心动图:全心扩大,左室射血分数29%。该患者应考虑诊断为
女性,14岁,左股骨下端肿胀、疼痛4个月,近1个月来肿胀增长快,夜间疼痛明显。检查:左胫骨上端肿胀严重,皮温增高,浅静脉怒张,可扪及一个6cm×8cm大小肿块,固定,边界不清。X线片示左胫骨上端成虫蚀状溶骨性破坏,骨膜反应明显,可见Codman三角。最
全身麻醉的并发症不包括()。
一切外科疾病的总称是
A.茶叶水B.阿托品C.清水D.蛋清E.硫代硫酸钠强酸强碱中毒用做保护剂的物质是
下列哪项不属于我国商业银行的二级资本?()
甲供电厂的本月供电总成本为98000元,供电量100000kW.h,线损电量为12000kW.h,则供电单位成本为()元。
【F1】Duringthepastgeneration,theAmericanmiddle-classfamilythatoncecouldcountonhardworkandfairplaytokeepitself
最新回复
(
0
)