首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
49
问题
给定程序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全国计算机二级
相关试题推荐
有以下程序:#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}
关于“while(条件表达式)循环体”,以下叙述正确的是()。
以下选项中叙述正确的是()。
某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)()。
下列给定程序中,函数fun的功能是:用选择法对数组中的n个元素进行升序排列。请修改程序中的错误,使它能得出正确的结果。注意:不得增行和删行,也不得更改程序的结构!试题程序:#include<stdio.h>#defineN20
下列给定程序中,函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!试题程序
若有定义语句:intx=10;,则表达式x一=x+x的值为()。
软件设计中模块划分应遵循的准则是( )。
设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)0的程序段是
一名员工可以使用多台计算机,每台计算机可由多名员工使用,则实体员工和计算机间的联系是
随机试题
内扩散的影响使平行反应中级数高者选择性高。()
在临床上,诊断带绦虫病的病原学方法可以采用
患儿,女,6岁。出生后反复呼吸道感染,平时少活动。查体:无发绀,心前区稍隆起,胸骨左缘第3、4肋间闻及Ⅲ级粗糙全收缩期杂音、伴震颤,P2亢进。哪—项不是该病常出现的并发症()
急性乳腺炎形成脓肿后行切开引流时,错误的是
专职安全生产管理人员需要掌握全面的安全生产管理知识,才能搞好安全生产管理工作。试根据人体工程、安全系统工程回答如下问题:ISO估计,在95dB(A)的条件下,工作30年后,患噪声性耳聋的比率为__________。
下列哪种情况下,客户承受投资风险的能力较强()
下列属于音频文件格式的是()。
课程标准的结构是前言、课程目标、内容标准、实建议四部分。()
根管成形的标准是()。
有以下程序:#include<stdio.h>#defineSUB(a)(a)-(a)main(){inta=2,b=3,C=5,d;d=SUB(a+b)*c;printf("%d\n
最新回复
(
0
)