首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c 所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为"abedefg",
给定程序MODll.C中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c 所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为"abedefg",
admin
2013-03-29
28
问题
给定程序MODll.C中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c
所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为"abedefg",b所指字符串中的内容为"1234"时,C所指数组中的内容应该为"a4b3c2dlefg";而当a所指字符串中的内容为"1234",b所指字符串中的内容为"abcdefg"时,c所指数组中的内容应该为"1g2f3e4dcba"。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不稠更改程序的结构!
#include
#include
void fun(char*a,char*b,char*c)
{
int i,j;char ch;
i=0;j=strlen(b)-1;
/***************found****************/
while(i>j)
{ ch=b
;b
=b[j];b[j]=ch;
i++; j--;
}
while(*a||*b){
/***************found****************/
If(*a)
{ *c=*a; c++; a++;}
if(*b)
{ *c=*b; c++; b++;}
}
*c=0;
}
main()
{
char s1[100],s2[100],t[200];
printf("\nEnter s1 string:");
scanf("%s",s1);
printf("\nEnter s2 string:");
scarlf("%s",s2);
fun(s1,s2,t);
printf("\nThe result is:%s\n",t);
}
选项
答案
(1)while(i
i) (2)if(*a)
解析
(1)检查循环控制表达式i>j,就是当i大于j时进入循环,而i的初值小于j,所以根本不会进入循环,应将“while(i>j)"改为“while(i
(2)第二标识下“If(*a)",If没有定义,根据题意,这里是判断a字符串是否已经到达尾部,应使用if判断,故第二标识处应改为“if(*a)"。
转载请注明原文地址:https://jikaoti.com/ti/UKn0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
阅读下列程序,则程序的输出结果为【】。#include"stdio.h"structty{intdata;charc;};main(){
mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。intmystrlen(char*str){inti;for(i=0;【】!=’\0’;i++);
在位运算中,操作数左移一位,其结果相当于
在以下程序段中,已知血型数据占两个字节,则输出结果是unionun{inti;doubley;}structst{chara[10];unionunb;};
当输入为"quert?"时,下面程序的执行结果是#include<stdio.h>main(){charc;c=getchar();while(c!=’?’){pu
对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为______。
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为______。
以下程序的运行结果是【】。main(){char*k="aeiou";for(;*k;k++)printf("%c",*k);}
以下程序的功能是()#include<stdio.h>main(){FILE*fp1;*fp2;fp1=fopen("filel","r");fp2=fopen("file2","w");wh
下面程序的功能是输出数组s中最大元素的下标,请填空。main(){intk,p,s[]={1,-9,7,2,-10,3};for(p=0,k=p;p<6;p++)if(s[p]>s[k])【】
随机试题
曲线y=cosx,x∈与两坐标轴所围成的面积被曲线y=asinx及y=bsinx(a>b>0)三等分,求a,b的值.
A.原发性高血压B.嗜铬细胞瘤C.原发性醛固酮增多症D.肾动脉狭窄E.皮质醇增多症尿17-羟皮质类固醇增多见于
衡量心血管储备和健康的最好指标为
机体内最粗最长的神经是()
下列哪种疾病,骨髓中巨核细胞明显减少()
现浇壁式地下连续墙施工中,槽段的划分应考虑的其他因素有()。
税务行政处罚听证的范围是对公民作出2000元以上或者对法人或其他组织作出10000元以上罚款的案件。()
在农业生产中,只要不超过合适的限度,肥料施得多,农作物的产量就上升,肥料施得少,农作物的产量就下降,由此可知,施肥量对农作物的产量有着密切的关系。以下哪项使用的逻辑方法与题干最为类似?
2018年2月28日,国家统计局发布了《2017年国民经济和社会发展统计公报》。下列关于该统计公报公布的2017年我国经济和社会发展的数据,说法错误的是:
高级程序设计语言的优点是()。
最新回复
(
0
)