首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。 例如,若主函数中a字符串为:aBCDeFgH,主函数中b字符串为:ABcd,则C中的字符串应
给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。 例如,若主函数中a字符串为:aBCDeFgH,主函数中b字符串为:ABcd,则C中的字符串应
admin
2021-06-15
58
问题
给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。
例如,若主函数中a字符串为:aBCDeFgH,主函数中b字符串为:ABcd,则C中的字符串应为:aBcdeFgH。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include<stdio.h>
#include<string.h>
void fun(char*p,char*q,char*c)
{
/**********found**********/
int k=1;
/**********found**********/
while(*p!=*q)
{ if(*p<*q)c[k]=*q;
else c[k]=*p;
if(*p)p++;
if(*q)q++;
k++;
}}
main()
{char a[10]="aBCDeFgH",b[10]="ABcd",C[80]={’\0’};
fun(a,b,c);
printf("The string a:"); puts(a);
printf("The string b:"); puts(b);
printf("The result:");
puts(c);
}
选项
答案
(1)int k=1改为int k=0; (2)(*p!=*q)改为(*p‖*q);
解析
本题中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。
While循环为字符串比较的提供前提条件,然后再比较得到p、q两个字符串一一对应的符合条件中可用的一个字符,最终合并得到新的字符串c。
(1)第一个错误在fun函数最开始定义的k的初始值。根据fun函数的功能我们可以知道这里k是新字符串c各字符的位置,然后根据比较结果一一对应新字符串个位置的字符。这里犯了一个明显的错误就是:从字符串的第一个字符比较,得到的第一个字符在字符串中的位置不是c[1]而是c[0],所以k的初始值不是1,而是0。所以这里第一个改错是将1改为0。
第二个错误在while循环的条件表达式,我们要知道的是while循环条件和if循环条件的区别。if的条件为开始条件,即符合这条件开始循环,而这里while的循环条件则是为终止条件,意思是下面括号内的循环进行到不符合while条件语句时终止,所以这里很明显错误,如果是这种条件的只要两个字符串中出现相同的字符即终止,以例子来说就是到第二个字符比较久终止,很明显不符合题意。所以为了完全比较这两个字符串,给出的终止条件应该是到两个字符串都结束,即两个字符串字符都为“’\0’”时终止,所以终止条件应该为“*p‖*q”。
转载请注明原文地址:https://www.kaotiyun.com/show/tAtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下
有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!=’\n’){switch(c-’3’){case0:case1:putchat(c+4);case2:putchar(c+4)
下面程序的运行结果是()。y=5;x=14;y=((x=3+y,x+6),x-1);pfintf("x=%d,y=%d",y);
下列字符数组初始化语句中,不正确的是()。
以下不能将键盘输入的字符串:Thisisastring读入到str中的程序段是()。
有以下程序#includemain(){FILE*f;f=fopen("filea.txt","w");fprintf(f,"abc");fclose(f);}若文本文件filea.
以下叙述中正确的是
在满足实体完整性约束的条件下
学校的每个社团都有一名团长,且一个同学可同时担任多个社团的团长,则实体团长和实体社团问的联系是
下面可以作为软件设计工具的是()。
随机试题
有预定目的,而又自觉地运用方法的识记是()。
男,72岁,高干。因突发言语不清、右侧肢体活动受限1天急诊入院。为明确诊断首选的实验室检查是
患者患贫血3年。经常头晕眼花,面黄浮肿,活动后则头晕心悸,气促,饮食尚可,有食生米、木炭等异嗜癖。实验室检查示:大便常规发现钩虫卵;血常规示血红蛋白80g/L,应首先考虑的贫血是
建设项目竣工环境保护验收时,对于评价监测结果,污水综合排放标准的值是按污染物的()来评价的。
理财规划师职业操守的核心原则是个人诚信。下列有关正直诚信原则的说法正确的有( )。
下列各项中,应确认为其他业务成本的是()。
地方性法规、规章之间不一致时,应如何适用?
Allsocialanimalscommunicatewitheachother,frombeesandantstowhalesandapes,butonlyhumanshavedevelopedthelangua
Readinginvolveslookingatgraphicsymbolsandformulatingmentallythesoundsandideastheyre-present.Conceptsofreading
在中国的南方和北方,饮食差异很大,也就是说,北方厨师(chef)所烹饪的菜肴口味更重,而在南方的食谱(recipe)中,菜肴的味道相对清淡。有时我们说南方菜肴的美味在于它的甜度和新鲜。在中国的一些省份,如宁夏、河北、四川、陕西和云南,餐食多为辣味,这是由于
最新回复
(
0
)