首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如,若输入 ”I am a student to take the examination.”,
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如,若输入 ”I am a student to take the examination.”,
admin
2020-07-28
77
问题
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。
例如,若输入
”I am a student to take the examination.”,
则应输出
”I aM A studenT tO takE thE examination.”。
请修改程序中的错误之处,使它能得出正确的结果。
注意:不要改动main函数,不得删行,也不得更改程序的结构!
#include
#include
#include
void fun(char*p)
{
int k=0 ;
for(;*p;p++)
if(k)
{
/**********found***********/
if(p==’’)
{
k =0;
/**********found***********/
*(p)=toupper(*(P一1))
}
}
else
k=1;
}
main()
{
char chrstr[64];
int d;
printf("\nPlease enter an English
sentence within 63 1etters:");
gets(chrstr);
d=strfen(chrStr);
chrstr[d]=’ ’;
chrstr[d+1]=0;
printf("\n\nBefore changing:\n
%s",chrstr);
fun(chrstr);
printf("\nAfter changing:\n%s",
chrstr);
}
选项
答案
(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/8G3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#include<stdio.h>voidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}main(){charss[10]="acc
有以下程序charfun(char*c){if(*c<=’Z’&&*c>=’A’)*c-=’A’-’a’;return*c;}main(){chars[81],*p=s;gets(s);while(
若有定义语句:doublex,y,*px,*py;执行px=&x;py=&y;正确的输入语句是
下列叙述中正确的是
有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是
若有定义语句:intx=12,y=8,z;在其后执行语句z=0.9+x/y;则z的值为
C语言中char类型数据占字节数为
有以下程序main(){unsignedchara=8,c;c=a>>3;printf("%d\n",c);}程序运行后的输出结果是
以下叙述中正确的是
若有定义语句:chars[10]="1234567\0\0";,则strlen(s)的值是
随机试题
老年男性,腹部手术后第7天,剧烈咳嗽后切口全层裂开,肠管脱出,紧急处理措施为
患者男,52岁。无痛性肉眼血尿伴尿频、尿急症状,尿常规示:白细胞(+++),红细胞(+++),尿蛋白(一),尿细胞学发现癌细胞。查体:肾区叩痛(一),双合诊未发现明显异常。患者下一步要做的检查是
开放性气胸的病理生理改变,下述哪项是错误的
女性,30岁,2天来进行性双下肢瘫痪,大小便障碍,体温正常。胸4水平以下深浅感觉丧失和截瘫。脑脊液检查压力正常,白细胞80×106/L(80个/mm3),淋巴细胞占80%,蛋白轻度增高,最可能的诊断为
甲、乙股份有限公司(简称甲公司、乙公司)为丙公司控制下的两家子公司。其他有关资料如下:(1)20×8年1月1日,甲公司以固定资产、无形资产、可供出售金融资产和交易性金融资产为对价,取得乙公司80%的股权,并于当日办妥有关资产的划转手续。甲公司出资情况见下
由于持续经营,才产生了当期与以前期间、以后期间的差别,才使不同类型的会计主体有了记账的基准,进而孕育出折旧、摊销等会计处理方法。()
20世纪60年代初,()发起课程改革运动,至此美国教育心理学逐渐重视探讨教育过程和学生心理,重视教材、教法和教学手段的研究与改进,并且开始重视研究教学中的社会因素,把学校看作社会情景,注重研究其中影响教学的社会心理因素。
1933年美国通过的《工业复兴法》规定:“雇主不得以工人参加何种工会为雇佣条件;必须遵守工时……工资限额。”这一法令说明()
TheauthorcouldnotgotosleeppartlybecauseWhatdidthecouchrepresent?
Twoyearsago,myparentsstartedcollectingtheirSocialSecuritychecks,therebyconfirmingwhatIhadalwaysthoughtthemto
最新回复
(
0
)