首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
2019-04-04
56
问题
给定程序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;
}
msin()
{
char chrStr[64];
int d ;
printf("\nPlease enter an English
Sentence within 63 letters:");
gets(chrstr);
d=strlen(chmstr);
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/obf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序 main() { int a [3][2]={0},(* ptr [2],i,j; for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);pb++;} for(i=0;i<3;i++)
分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p
有以下程序main(){intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1]>x[j]){
以下程序执行后sum的值是______。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}
有以下程序:int*f(int*x,int*y){if(*<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;
下述程序的输出结果是()。#includemain(){inti;for(i=1;i<=10;i++){if(i*i>=20)&&(i*i<=100))break;
下列程序的输出结果是()。#include“stdio.h”main(){structst{inty,x,z;}union{longi;intj;
以下4个程序中,完全正确的是
有以下程序:#include<stclio.h>main(){charc;while((c=getchar())!=’?’)putchar(--c);}程序运行时,如果从键盘输入:Y?N?<回车>,则
下列程序的输出结果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;char
随机试题
AlanLakein,atimemanagementexpert,thinksthatnothingisatotalwasteoftime,includingdoingnothingattimes.Ifyouar
静脉输血
患者,女,60岁。有消渴病史8年。形体消瘦,尿频量多,混浊如脂膏,口干唇燥,舌红,脉细数。治疗应首选( )。
政府采购实行集中采购和分散采购相结合。集中采购的范围由省级以上人民政府公布的集中采购目录确定。()
最常用的公司竞争力分析框架是SWOT分析,竞争力分析通常包括()。
甲上市公司2008年6月1日发行年利率4%的可转换公司债券,面值10000万元,每100元面值的债券可转换为1元面值的普通股80股。2009年甲上市公司的净利润为45000万元,2009年发行在外的普通股加权平均数为50000万股,所得税税率25%。则甲上
根据所给资料。回答下列问题。2008年,浙江省全年粮食播种面积和单产分别比上年增长0.1%和4.0%,粮食总产量为775.55万吨,增长4.1%,其中晚稻总产量为601.08万吨,增长5.6%(见下表)主要经济作物有增有减。其
A、 B、 C、 D、 A这道题既不都是字母,也不都是几边形。一时难以找准切入点。但仔细分析一下便可知,这是按图形由几笔而画成的题。第一套图形中的三个图,皆由一笔画成,第二套也是这样。依此规律,在四个选项中,
传统文学是小众的,网络文学是大众的;传统文学是厚重的,网络文学是_______的;传统文学是“烧脑”的,网络文学是_______的;传统文学是作者的文学,网络文学是读者的文学。填入画横线部分最恰当的一项是:
在商场购物中,实体顾客和实体商品之间的联系是()。
最新回复
(
0
)