首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
2015-12-22
26
问题
给定程序MODI1.C中fun函数的功能是:将P所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。
例如,若输入
"I am a student to take the examination.",
则应输出"I aMAstudenTtOtakEthE 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 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/FWDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下错误的定义语句是
下面四个选项中,均是不合法的用户标识符的选项是
下列叙述中,错误的是()。
设变量x和y均已正确定义并赋值。下列if语句中,在编译时将产生错误信息的是
下列循环体的执行次数是()。#include<stdio.h>main(){inti,j;for(i=0,j=1;i<j+1;i+=1,j--)phntf("%d\n",j);}
在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送()。
已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为()。
某二叉树共有60个叶子结点与50个度为1的结点,则该二叉树中的总结点数为()。
数据结构中,与所使用的计算机无关的是数据的
在C语言中,运算对象必须是整型数的运算符是
随机试题
小腿三头肌
________提出、阐释和完善了政治系统分析。()
大卫·李嘉图最为突出的贡献的是()。
施工组织设计编制的依据有哪些?
法律咨询工作的原则有
企业确认收入实现的条件有哪些?
偶然性是科学的敌人。
下列哪些激素能提高血糖浓度
简述法的价值的特征。
Polarbearsaresufferingina【C1】______(warm)worldthaneverbefore.Polarbearsliveinenvironmentstoocoldformostani
最新回复
(
0
)