首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
28
问题
给定程序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全国计算机二级
相关试题推荐
有以下程序:#include<string.h>structSTU{charname[10];intnum;};voidf(char*name,intnum){structSTU
下面程序的输出结果是()。#include"stdio.h"intsub(intm){statica=4;a+=m;returna;}voidmain(){inti=2
下列程序的运行结果是()。#include<stdio.h>main(){stmctdate{intyear,month,day;}today;primf("%d\n",sizeof(struct
设计程序时,应采纳的原则之一是()。
若输入3、4、5,程序的输出结果为【】。#include"math.h"main(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c)
若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do
下列有关数据库的描述,正确的是
下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。intword(char*s){intnum=0,flag=0;while(*s){if(【】==’’)flag=0;
对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为【】。
Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【】的设计方法。
随机试题
A、Improvingtheirbrainfunction.B、Regulatingtheirbreathingrate.C、Slowingdowntheirageingprocess.D、Acceleratingtheirb
下列有关对评估行政管理部门的履职要求的说法中,不正确的是()。
除AFP外,可以提高低AFP型肿瘤诊断率的是
骨髓检查原始单核细胞40%,原始粒细胞22%,幼稚单核细胞15%,早幼粒细胞8%,最可能的诊断是
侯女士,35岁,妊娠35周并发妊高征,2小时前突然发生持续性腹痛伴阴道少量流血。首先考虑为()
在十六届五中全会上,党和国家坚持以科学发展观为指导,从经济和社会发展的全局出发,不断深化对安全生产规律的认识,提出了()方针。
账户一般可以提供的金额指标是( )。
期末发生的下列事项中,影响当年度利润表中营业利润的有()。
制度型社会福利是把社会福利看成工业社会的一种正常功能,以提供制度化的、针对全体人民的普遍福利为标志。残补型社会福利是指社会福利制度(国家的社会福利机构)只扮演常态社会结构——家庭和市场功能失败后的补救角色。根据上述定义,下列属于制度型社会福利的是(
下述函数功能是______。intfunr(char*x){char*y=x;while(*y++);returny-x-1;}
最新回复
(
0
)