首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,字符串数组中的M个字符串为 AAAA BBBBBBB CC 则合并后的字符串的内容应是: A
请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,字符串数组中的M个字符串为 AAAA BBBBBBB CC 则合并后的字符串的内容应是: A
admin
2017-07-27
51
问题
请编写函数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/nFi0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若a、b、c、d都是int型变量且都已经正确赋初值,则以下不正确的赋值语句是()。
下述语句中,在字符串s1和s2相等时显示"theyareEqual"的是()。
设有如下定义:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是()。
下列程序的运行结果是()。#include<stdio.h>voidsub(int*s,int*y){staticintm=4:*y=s[m];m--;}voidmain(){
数据结构分为逻辑结构和存储结构,循环队列属于()结构。
以下程序的输出结果是()。#include<stdlib.h>main(){char*s1,*s2,m;s1=s2=(char*)malloc(sizeof(char));*s1=15;*s2=2
假设有语句sizeof(double),则它是()。
下列二叉树描述中,正确的是()。
以下程序的输出结果是()。main(){charst[20]="hello\0\t\\\";printf("%d%d\n",strlen(st),sizeof(st));}
随机试题
内源性凝血过程一般起始于
患者男,44岁。反复咳嗽,咳痰5年,既往吸烟史10年,查体见桶状胸,可闻及干湿啰音。临床处理原则不包括
背景资料:某高校图书馆工程,地下2层,地上5层,建筑面积约35000m2,现浇钢筋混凝土框架结构,部分屋面为正向抽空四角锥网架结构。施工单位与建设单位签订了施工总承包合同,合同工期为21个月。在工程开工前,施工单位按照收集依据、划分施工过程(段)计算劳动
矩形截面简支钢梁,跨中受集中力P作用,试问,当集中力增大为2P,梁高度变为原来的2倍,其余条件不变,则跨中截面最大弯曲应力是原来的()倍。
某企业集团既经营生产资料也经营生活资料,经营的商品主要有轴承、轮胎、橡胶、汽车、大米、食盐、蔬菜、调味品等。该企业集团依据商业的供求形态来选择预测方法,并对企经营的商品进行预测。另附该企业某年1—11月汽车销售统计表(如下):根据以上资料,回答下列问题
根据以下资料,回答下列问题。2011年上半年,我国软件产业实现软件业务收入8065亿元,同比增长29.3%,增速比去年同期高0.2个百分点;实现利润103亿元,同比增长34.9%。其中,6月份完成软件业务收入1828亿元,同比增长32.9%,增速
狂犬病是一种对人、畜危害很大的传染病,人、畜主要是通过被发病犬咬伤,感染上病毒而发病的,发病后无一例外地死亡。医学研究表明:被病犬咬伤后二十四小时内注射狂犬疫苗,可大大降低发病机会。由此可知()。
2017年7月30日,在内蒙古朱日和训练基地举行庆祝中国人民解放军建军90周年阅兵。此次阅兵是庆祝建军90周年的一项重大活动,是国防和军队改革全面实施后人民军队的全新亮相,以下关于人民军队的说法正确的是
设二次f(x1,x2,x3)=xAx在正交变换x=Qy下的标准形为y1+y2,且Q的第三列为求A;
例如:为了让自己更健康,他每天都花一个小时去锻炼身体。★他希望自己很健康。(√)今天我想早点儿回家。看了看手表,才5点。过了一会儿再看表,还是5点,我这才发现我的手表不走了。★那块手表不是他的。(×)
最新回复
(
0
)