首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如,若输入“I am a student to take the examination.”,则应输出“I aM A
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如,若输入“I am a student to take the examination.”,则应输出“I aM A
admin
2019-09-02
23
问题
给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。
例如,若输入“I am a student to take the examination.”,则应输出“I aM A studen T tO takEthEexamination.”。
请修改程序中的错误之处,使它能得出正确的结果。
注意:不要改动main函数,不得删行,也不得更改程序的结构!
#include<ctype.h>
#include<stdio.h>
#include<string.h>
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、letters");
gets(chrstr);
d=strlen(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/9KRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
针对简单程序设计,以下叙述的实施步骤顺序正确的是
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为
可在C程序中用作用户标识符的一组标识符是
以下选项中,不能作为合法常量的是
若X和Y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是
有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是
有3个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于
在软件开发中,需求分析阶段产生的主要文档是()。
随机试题
社会工作者采用治疗模式开展小组工作时,实施的原则包括()。
胃良性溃疡较多发生在
女性,32岁,不慎跌倒后诉左侧胸痛,咳嗽时加剧。体格检查:无反常呼吸,左肺呼吸音减弱,无啰音,左侧胸廓前后挤压试验阳性。关于此患者,下列说法哪项是正确的
秦朝时发生过一起案件,基本案情如下:“甲教唆乙盗窃杀人,甲得到赃款十钱,乙身高不到六尺(乙为未成年人),对甲应当如何处罚?应当判处磔刑(车裂)。”本案体现了当时的哪些刑罚原则?()
会计电算化环境下,记账凭证摘要不可以()。
中级会计师要能够比较系统地掌握经济、财务会计理论和专业知识,具有较高的政策水平和丰富的财务会计工作经验。( )
下列有关营运能力分析的说法中,错误的是()。
关于质量发展的三个阶段,下列说法正确的有()。
在人类的身体中,细菌的数量要远远多于人体的细胞,其中大部分细菌对人是有益的,有助于我们消化食物。但是,肠道内的有益细菌有时会死亡或被清除。阑尾不仅能重启在患病时被删除掉的肠道系统内的有益细菌,而且因其所处的位置正好在正常的食物流以下,作为大肠的死胡同,它贮
下列说法中,错误的是()。Ⅰ.时钟频率和CPI成反比关系Ⅱ.数据字长等于MDR的位数Ⅲ.A主机的CPU主频高于B主机的CPU主频,则前者运算能力将会高于后者
最新回复
(
0
)