首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
22
问题
给定程序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://jikaoti.com/ti/HMf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下选项中,能用作数据常量的是
可在C程序中用作用户标识符的一组标识符是
我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是
有以下程序#includevoidfun(char*a,char*b){while(*a==’*’)a++;while(*b=*a){b++;a++;}}main(){char*s="*a*b*",t[
有以下程序voidfun1(char*p){char*q;q=p;while(*q!=’\0’){(*q)++;q++;}}main(){chara[]={"Program"),*p;p=&a[3];fun1(p);p
有下列程序:voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(a);for(i=0;i
设有定义:intk=1,m=2;f=7;,则以下选项中错误的表达式是
C语言中char类型数据占字节数为
下面选项中合法的字符常量是
下面不属于软件设计阶段任务的是
随机试题
设平面内有n条直线(n≥3),其中有且仅有两条直线互相平行,任意三条直线不过同一点,若用f(n)表示这n条直线交点的个数,则f(4)=();当n>4时,f(n)=()。
病人,男,以突然高热、头痛、呕吐、皮肤黏膜瘀斑瘀点为主诉收入院。查体有颈项强直,脑膜刺激征。取脑脊液沉淀涂片检查,发现中性粒细胞内革兰阴性双球菌,呈肾形成对排列,诊断为流行性脑脊髓膜炎。该菌培养需用
用车载式颠簸仪测定平整度时,计算时应换算成()。
关于建设工程项目设计概算的说法,正确的是()。
()是合规管理的关键性原则。
A企业目前的金融负债价值为700万元,金融资产价值为120万元;预计未来5年内的实体现金流量现值为600万元,预计第六年净利润为200万元,税后利息费用为50万元,实体净投资为80万元,从第七年开始实体现金流量可以长期保持5%的增长率。A企业的加权平均资本
()属于合同缔约过错责任特征。
2015年全国海洋生产总值64669亿元,比上年增长7.0%,海洋生产总值占国内生产总值的9.6%。其中,海洋第一产业增加值3292亿元,第二产业增加值27492亿元,第三产业增加值33885亿元。将2015年各海洋产业增加值从大到小排列,正确的是:
阅读下列史料并回答问题:材料一马克思主义经典作家曾对古希腊文化给予高度的评价,认为古希腊人无所不包的才能与活动,使他们取得的文化成果“保证了他们在人类发展史上为其他任何民族所不能要求的地位”。赞赏古希腊文化艺术的杰作至今“还继续给我们以艺术的享
A、Generationgapisanewphenomenonoftheever-changingmoderntimes.B、Differencesexistamongpeopleeveniftheyareofthe
最新回复
(
0
)