首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
56
问题
给定程序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://kaotiyun.com/show/s8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下函数用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。请填空。#include<conio.h>#include<stdio.h>intfun(int*s,intt,int*k){inti;
在树形结构中,树根结点没有【】。
概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。
以下关于C语言数据类型的叙述中正确的是()。
有以下程序段: typedef struct NODE {int num; struct NODE *next; }OLD; 以下叙述中正确的是 ______。
若有下列定义(设int类型变量占2个字节):floatx=123.4567;则下列语句:printf("x=%5.2f",x);输出的结果是()。
已知a所指的数组中有N个元素。。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置填空。voidfun(inta[N],intk){inti:for(i=k;i
已知字母A的ASCII码为65。以下程序运行后的输出结果是【】。main(){chara,b;a=’A’+’5’-’3’;b=a+’6’-’2’;printf("%d%c\n",a,B);}
在面向对象方法中,类之间共享属性和操作的机制称为【】。
下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。intn=0,c;c=getchar();while(c!=’\n’){if(______)n++;}
随机试题
再生障碍性贫血骨髓象特点
有关Ⅲ度烧伤的描述哪一项是错误的
初起皮肤上有粟粒样脓头,红肿热痛,病情发展则脓头增多,溃后状如蜂窝,范围在9~12cm之间的是()
关于牙松动度,描述正确的是
边坡岩体主要在重力作用下沿贯通的剪切破坏面发生滑动破坏的现象称为()。
对某型公交车刹车装置作FMECA,已知的信息是刹车系统失灵将会造成人员死亡或汽车损坏,其后果十分严重,但这种故障模式出现的概率大约是总故障率的0.001。在图5.2—2中,代表公交车刹车装置的曲线为()。
事物发展的动力和源泉是矛盾双方的互相排斥、互相否定。()
材料一(一)极区电离层等离子体云块及其影响等离子体是由分离的离子和电子组成的一种物质。它广泛存在于字宙中,常被视为物质的第四态。等离子体具有很高的电导率,与电磁场存在极强的耦合作用。太阳风是从太阳上层大气喷射出的超高速等离子体
强迫症是指以强迫观念和强迫动作为主要表现的一种神经症。以有意识的自我强迫与有意识的自我反强迫同时存在为特征,患者明知强迫症状的持续存在毫无意义且不合理,却不能克制的反复出现,愈是企图努力抵制,愈感到紧张和痛苦。根据以上定义,下列不属于强迫症的是(
下列关于听觉理论的说法,不正确的是
最新回复
(
0
)