首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
2021-04-28
116
问题
给定程序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/mUtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下选项中,合法的是
以下叙述中错误的是
有以下程序main(){chara=’H’;a=(a>=’A’&&a
有以下程序structst{intx;int*y;)*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下选项中表达式的值为11的是
有三个关系R,S和T如下图所示:其中三个关系对应的关键字分别为A,B和复合关键字(A,B)。则T的记录项(b,q,4)违反了
不合法的C语言字符常量是()。
设有定义:char*c:以下选项中能够使c正确指向一个字符串的是
定义学生选修课程的关系模式:SC(S#,Sn,C#,Cn,G)(其属性分别为学号、姓名、课程号、课程名、成绩)该关系的范式最高达到
关于算法,以下叙述中错误的是
下列说法正确的是()。
随机试题
CO2焊的焊丝伸出长度通常取决于()。
产品质量特性是指
关于老年人应用抗生素的说法哪些是正确的
下图中弯矩图正确的是( )。
某工程,建设单位与施工单位按照《建设工程施工合同(示范文本)》签订了施工合同,采用可调价施工合同形式。工期20个月,项目监理机构批准的施工总进度计划如下图所示,各项工作在其持续时间内均按匀速进展,每月计划完成投资见下表。施工过程中发生如下事
境内机构违反国家规定,擅自以外汇作质押的,属于套汇行为。()
如果操作技能发展较言语技能差,下列描述中最不可能出现的是()。
新中国成60年来,我国国内生产总值实际增长了近80倍,经济总量跃居世界第三;人民生活正稳步迈向全面小康,已从低收入国家迈入中等收入国家行列;财政收入增长约1000倍,外汇储备增长1万多倍,位居世界第一;进出口贸易总额位居世界第三,占世界贸易比重达7.9%。
关于合同诈骗罪,下列说法不正确的是()
近十年来,海达冰箱厂通过不断引进先进设备和技术,使得劳动生产率大为提高,即在单位时间里,较少的工人生产了较多的产品。以下哪项如果为真,一定能支持上述结论?Ⅰ.和1991年相比,2000年海达冰箱厂的年利润增加了一倍,工人增加了10%。Ⅱ.和1991年相
最新回复
(
0
)