首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
84
问题
给定程序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://kaotiyun.com/show/f6tp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
编写函数intfun(intlim,intaa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回求出的素数的个数。注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
有以下程序:#include<stdio.h>voidfun(int*a,int*b){int*c:c=a:a:=b;b=c;}main(){intx=3,y=5,*p=&x,*q=&y;fun(p,q);pr
有以下程序:#include<stdio.h>inta=1.b=2:voidfunl(inta,intb){printf("%d%d",a,b);}voidfun2(){a=3;b=4;}main(){funl(5,6);f
有以下程序:#include<stdio.h>#include<stdio.h>voidfun(int**s,intx[2][3]){**s=*(x[1]+1);}main(){inta[2][3]={1,2,3,4,5,6}
以下选项中不能用于描述算法的是()。
一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是
若变量已正确定义,有以下程序段i=0;doprintf("%d,",i);while(i++);printf("%d\n",i);其输出结果是
一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为
在学校每间宿舍住1到6名学生,每个学生只在一间宿舍居住,则实体宿舍与实体学生间的联系是()。
程序流程图中带有箭头的线段表示的是()。
随机试题
提倡“义理、考据、辞章”的作家是【】
A.清化肃肺B.补肾纳气C.温化宣肺D.补肺固卫哮病发作期属寒哮的治法是
麦芽与山楂的共同主治证是()
一名50岁体质较差的女性患者,十二指肠溃疡穿孔20小时,入院施行穿孔修补术后6天体温38℃,腹痛、腹胀,大便次数增多,有黏液,里急后重,诊断为盆腔脓肿。以下治疗措施哪项是错误的
在稳定类基层材料拌合时,应重点检查结合料的剂量、最佳含水量的控制以及拌合方法及均匀性等。()
依据《劳动合同法》,劳动者的权利有()。
( )是对在中华人民共和国境内车辆、船舶(简称车船)的所有人或者管理人所征收的一种税。
发行人在境内发行股票或者可转换公司债券、证券公司在境内承销证券以及投资者认购境内发行的证券,适用()。
下列关于上海行政、司法概况的说法中,正确的有()。
Thethiefwasfinallycapturedtwomilesawayfromthevillage.
最新回复
(
0
)