首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
50
问题
给定程序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://jikaoti.com/ti/h5z0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有定义:intx=2;,则以下表达式中,值不为6的是()。
有以下程序:#include<stdio.h>main(){inti:char*a[]={"abcd","ef","gh","ijk"};for(i=0;i<c4;i一+)printf("%c",*a[i]);}
若有如下定义语句:doublex.y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是()。
以下叙述中正确的是()。
下列给定程序中,函数fun的功能是:计算f(x)=1+x+<10-6。若x=2.5,函数值为12.182494。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构。试题程序
若有定义语句:inta=3,b=2,c=l;以下选项中错误的赋值表达式是()。
下列关于软件工程的描述中正确的是
设顺序表的长度为40,对该表进行冒泡排序。在最坏情况下需要的比较次数为
请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。例如,输入如下整数:876675896101301401980431451777则输出结果为:6,980注意:部分源程序在文件PROGl.C文件中
随机试题
白喉按病变部位,发病率最高的是
男性,38岁,5年前检查发现HBsAg(+)、HBeAg(+)。近2年来数次出现ALT增高,经治疗可恢复,近2个月来出现乏力、食欲缺乏。为进一步治疗于当地社区卫生中心住院。入院查体:巩膜重度黄染,无肝掌蜘蛛痣,肝肋下1cm,脾侧位可触及。辅查:急诊查肝功能
霍乱传播途径中作用最突出的是
提出"诸躁狂越,皆属于火"的医著是()
下列关于仲裁裁决的哪些观点是正确的?
()指的是影响工作场所内员工、临时工作人员、合同方人员、访问者和其他人健康和安全的条件和因素。
分部分项工程量清单项目的工程量应以实体工程量为准,对于施工中的各种损耗和需要增加的工程量,投标人投标报价时,应在( )中考虑。
谈运河就不能不谈到扬州,谈扬州就不能不谈到瘦西湖。当年决定让运河在这里分道入城的那个人或许只是默默无闻之辈,但他无意中却做成了中国文化史上的一段佳话。那么密集的拱桥和亭阁,那么精致的园林,那么多浓得化不开的人文历史。平山堂前唱曲的欧阳修,曲栏歌院纵酒的杜牧
Neverunderestimatethelearningpowerofplay.OneofParks’findingsisthatchildren【C1】______valuablelearningopportunitie
Whoismostprobablyspeaking?
最新回复
(
0
)