首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODII.C中fun函数的功能是:将P所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如,若输入 ”I ama studenttotakethe examination.”, 则应
给定程序MODII.C中fun函数的功能是:将P所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 例如,若输入 ”I ama studenttotakethe examination.”, 则应
admin
2013-04-02
22
问题
给定程序MODII.C中fun函数的功能是:将P所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。
例如,若输入
”I ama studenttotakethe 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-1)= 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语句应该是判断字符串中的字符是否是空格,根据“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/rJJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序: main() {int k=5,n=0; while(k>0) {switch(k) { default:break; case 1:n+=k; case 2:
设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句:if(a<B)if(c=D)y=0;elsey=1;该语句所表示的含义是______。
下面程序的运行结果是:[]。fun(intt[],intn){inti,m;if(n=1)returnt[0];elseif(n>=2){m=fun(t,n-1);returnm;}
以下叙述中错误的是______。
有以下程序 int fun(int n) { if(n=1) return 1; else return(n+fun(n-1)); } main(
有以下程序段 struct st {int x;int *y;}*pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b};
下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。#includ
以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135则输出531。请填空。#include<stdio.h>main(){intn,s;printf("Ente
若变量已删除正确定义,则以下语句的输出结果是______。 s=32; s^=32; printf("%d",s);
在结构化分析使用的数据流图(DFD)中,利用【】对其中的图形元素进行确切解释。
随机试题
按韵母内部成分的特点来分,可以把韵母分成单韵母、复韵母和()。
当测验太容易时,测验总分分布一般呈()
女性,60岁。间断浮肿2年,加重半月,伴气急、咯血3天,血压150/90mmHg,腹水征阳性,尿蛋白(++++),红细胞0~2/HP,血白蛋白20g/L,三酰甘油2.1mmol/L,双肾大,双肾静脉主干有血栓。如做肾穿,最可能的病理类型为
下列除哪一项外均是肺胀病常见的病位
女,25岁,足月分娩。胎儿体重4.2kg。当胎儿娩出后,活动性阴道出血约500m|,血液呈鲜红色,很快凝成血块,此时胎盘尚未娩出。根据上述情况,考虑出血原因的最大可能是
钻孔应连续进行。当钻进至护筒刃脚部位、砂层或卵砾石层中时,钻进应采用( )。
“虚心涵泳”是朱熹的读书法。此处的“涵泳”是指读书时应()。(2017年)
一般来说,不属于系统分析员的工作是()。
在窗体上画一个名称为File1的文件列表框,并编写如下程序:PrivateSubFile1_DblClick()x=Shell(File1_FileName,1)EndSub
A、Candospirit.B、Motivationandteamwork.C、Honestyandresponsibility.D、Hard-workingandcooperation.B选项中的“Cando”spirit,Ho
最新回复
(
0
)