首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,字符串数组中的M个字符串为 AAAA BBBBBBB CC 则合并后的字符串的内容应是: A
请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,字符串数组中的M个字符串为 AAAA BBBBBBB CC 则合并后的字符串的内容应是: A
admin
2020-07-28
42
问题
请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
例如,字符串数组中的M个字符串为
AAAA
BBBBBBB
CC
则合并后的字符串的内容应是:
AAAABBBBBBBCC。
提示:strcat(a,b)的功能是将字符串b复制到字符串a的串尾上,成为一个新串。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #include<string.h>
3 #define M 3
4 #define N 20
5 void fun(char a[M][N],char *b)
6 {
7
8 }
9 main()
10 { char w[M][N]={’’AAAA’’,’’BBBBBBB’’,’’CC’’},a[100];
11 int i;void NONO();
12 printf(’’The string:\n’’);
13 for(i=0 ; i<M;i++)puts(w
);
14 printf(’’\n’’);
15 fun(w,a);
16 printf(’’The A string:\n’’);
17 printf(’’%s’’,a);printf(’’\n\n’’);
18 NONO();
19 }
20 void NONO()
21 {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
22 FILE *rf,*wf ;
23 char w[M][N],a[100];int i;
24 rf=fopen(’’in.dat’’,’’r’’);
25 wf=fopen(’’out.dat’’,’’w’’);
26 for(i=0;i<10;i++) {
27 fscanf(rf,’’%s%s%s’’,w [0],w[1], w [2]);
28 fun(w,a);
29 fprintf(wf,’’%s\n’’,a);
30 }
31 fclose(rf);fclose(wf);
32 }
选项
答案
1 int i,j,k=0; 2 for(i=0 ; i<M ; i++) 3 { for(j=0 ; j<N; j++) 4 i f(*(*(a+i)+j)) 5 //如果不指向行的尾 6 { b[k]=*(*(a+i)+j); 7 //将行中的值赋值给数组b 8 k++;}//数组下标加1 9 else//如果指向尾,则跳出这一行 10 break; 11 b[k]=’\0’;}//数组加尾符
解析
(1)二维字符数组第i行j列元素a
[j],就是指针形式的“*(*(a+i)+j)”。因此,如果字符“*(*(a+i)+j)”是串的结束符,则说明该字符串已经结束。
(2)当一维字符数组存放完字符串中各字符后,必须在一维字符数组的尾字符处加一个结束符“’\0’”,才能把字符数组变成字符串。否则,字符数组就只能是非字符串的一般字符数组。
转载请注明原文地址:https://jikaoti.com/ti/cJD0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#include<stdio.h>#defineN3voidfun(inta[][N],intb[]){inti,j;for(i=0;i<N;i++){b[i]=a[i][0];for(j=1;j<N;
有下列程序:structS{intn;inta[20];};voidf(int*a,intn){inti;for(i=0;i<n-1;i++)a[i]+=i;}main(){inti;structSs={
以下叙述中错误的是
某二叉树的中序序列为DCBAEFG,后序序列为DCBGFEA,则该二叉树的深度(根结点在第1层)为
以下叙述中正确的是
通常软件测试实施的步骤是
以下正确的字符串常量是
若有以下程序structstu{char*name,gender;intscore;};main(){structstua={NULL,’m’,290},b;a.name=(char*)malloc(10);strc
设表的长度为n。在下列结构所对应的算法中,最坏情况下时间复杂度最低的是
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:计算下式前n项的和,并作为函数值返回。例如,当形参n的值为10时,函数返回﹣0.204491。请在程序
随机试题
幼儿住院时主要压力来源是()
冬季,1岁男孩,发热、呕吐、腹泻3天,体温38℃,每日腹泻10次左右,呈蛋花汤样,无腥臭,1天来尿少,10小时无尿。查体:眼窝、前囟深陷,皮肤干燥,弹性极差,肢端凉。大便镜检偶见白细胞,血钠130mmol/L。最可能的病原为
A.色氨酸B.组氨酸C.鸟氨酸D.谷氨酸E.半胱氨酸腐胺来自
位于脐下4寸的腧穴是位于脐上4寸的腧穴是
气孔为不等式的药材为
新生儿保健下列哪一项为重点
急性胰腺炎伴意识模糊患者人住ICU,其特护记录单记录的内容不包括
下列关于建设投资估算中预备费的说法,正确的是()
下列各项中,属于事业单位净资产类会计科目的有()。
只要诊断准确并且救治及时,这个病人就不会死亡。现在这个病人不幸死亡了。如果上述断定为真,以下哪项不可能是假的?
最新回复
(
0
)