首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
25
问题
给定程序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://jikaoti.com/ti/ZAa0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下错误的定义语句是
以下程序运行后的输出结果是______。main(){intx=0210;printf("%x\n",x);}
下列程序段的运行结果是______。charstr[]="ABCD",*p=str;printf("%d\n",*(p+3));
以下程序的功能是将字符串s中所有小写字母’a’删去,请填空。#include<stdio.h>main(){chars[]="absuWWUDJFKFLaaakdK";inti,j;for(i=j=0;s[i]!=
软件工程研究的内容主要包括:【】技术和软件工程管理。
以下叙述中错误的是______。
“商品”与“顾客”两个实体集之间的联系一般是()。
数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是()。
源程序文档化要求程序应加注释。注释一般分为序言性注释和【】注释。
以下函数返回a所指数组中最小的值所在的下标值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[j])________return(p);}在下划线处应填入的是
随机试题
A.安置在危重病房B.安置在普通病房C.安置在隔离病房D.安置在治疗室E.安置在处置室
下列关于商业银行的说法中正确的有:
建筑外墙保温材料主要包括墙体和屋面的外保温,由于保温材料自身的可燃性和施工过程管理的疏忽,火灾频发。下列不属于建筑外保温系统对火灾的影响的是()。
2006年实行自动许可是按一般商品、机电产品(包括旧机电产品)、重要工业品三个目录进行管理的,下列关于自动进口许可的说法正确的是()。
部门经理总能完成简单的目标或无法完成高标准的目标。对于这样的问题可以以下哪种方式来加以解决?
中央银行若提高再贴现率,将()。
过抛物线C:x=ay2(a>0)的焦点作直线L交抛物线C于P、Q两点,若FP和FQ的长分别为p与q,则等于().
高等教育几年前就已从精英教育步人大众化教育阶段,但就业观念却并没能实现同步转变。当前,在一些大学生脑海中,精英就业观念仍根深蒂固。在他们看来,毕业后不能到大城市、沿海城市或经济发达地区就业,不能找到热门的、高薪的、体面的工作,就是自己人生的失败。而社会也对
=________.
DarkChocolateDarkchocolateisknowntohelppreventheartdisease,buteatingtoomuchofitmaybenotsogoodforyour
最新回复
(
0
)