首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,二维数组中的数据为: 33 33 33 33 44 44
请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,二维数组中的数据为: 33 33 33 33 44 44
admin
2019-03-19
43
问题
请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。
例如,二维数组中的数据为:
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应是:
33 33 33 33 44 44 44 44 55 55 55 55。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 void fun(int(*s)[10],int *b,int *n,int mm,int nn)
3 {
4
5 }
6 main()
7 {int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j;
8 int a[100]={0),n=0;void NONO();
9 printf(’’The matrix:\n’’);
10 for(i=0;i<3;i++)
11 { for(j=0;j<4;j++)printf(’’%3d’’,w
[j]);
12 printf(’’\n’’);
13 }
14 fun(w,a,&n,3,4);
15 printf(’’The A array:\n’’);
16 for(i=0;i<n;i++)printf(’’%3d’’,a
);printf(’’\n\n’’);
17 NONO();
18 }
19 void NONO()
20 {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
21 FILE *rf,*wf;int i,j,k;
22 int w[10][10],a[100],n=0,mm,nn;
23 rf=fopen(’’in.dat’’,’’r’’);
24 wf=fopen(’’out.dat’’,’’w’’);
25 for(k=0;k<5;K++) {
26 fscanf(rf,’’%d%d’’,&mm,&nn);
27 for(i=0;i<mm;i++)
28 for(j=0;j<m;j++)fscanf(rf,’’%d’’,&w
[j]);
29 fun(w,a,&n,mm,nn);
30 for(i=0;i<n;i++)fprintf(wf,’’%3d’’,a
);fprintf (wf,’’\n’’);
31 }}
选项
答案
1 int i,j; 2 for(i=0;i<mm;i++) 3 for(j=0;j<nn;j++) 4 { b[*n]=*(*(s+i)+j); 5 *n=*n+1; }
解析
该程序功能是将M行、N列的二维数组中的数据,按行的顺序依次放到一维数组中。本题中首先要清楚数组元素在通常情况下是按行存放的,而如果要实现按行存放,其对应关系应为:s[0][0],s[0][1],s[0][2],…,s[0][M-1],s[1][0],s[1][1],…,s[N-1][M-1]。
转载请注明原文地址:https://kaotiyun.com/show/66Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
不合法的main函数命令行参数表示形式是
下列的程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,程序空白处应该填写的是()。#include<stdio.h>main(){chars1[]="chinese",s2[]="japnese";
下列程序的输出结果是______。#includesub1(chara,charb){charc;c=a;a=b;b=c;}sub2(char*a,charb){charc;c=*a;*a
下列程序的输出结果是______。main(){inti=3;switch(i){case1:case2:printf("%d",i);case3:case
将以下程序写成三目运算表达式是【】。if(a>b)max=a;elsemax=b;
以下程序的输出结果为【】。main(){intk=1;white(k<=15)if(++k%3!=2)continue;elseprintf("%d",k);print
以下函数返回a所指数组中最小的值所在的下标值fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i
数据处理的最小单位是
下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。fun(int*p,intn){int*q;intmax,min;max=min=*p;for(q=p;【】
随机试题
关系概念是指根据事物之间的相互关系形成的概念。下列属于关系概念的有()
在单元测试中,必须为每个模块单元测试开发_________和承接模块。
限额设计的总目标是在初步设计开始前,根据批准的( )及其投资估算确定的。
建设工程管理工作是一种增值服务工作,其核心任务是为()增值。
自有资金现金流量表从()的角度出发,以()为计算基础,用于计算自有资金财务内部收益率、净现值等评价指标,考查项目自有资金的盈利能力。
完成等待期内的服务或达到规定业绩条件以后才可行权的以现金结算的股份支付,在可行权日之后,股份支付当期公允价值的变动金额应当计入()。
旅游者在住宿时出示合法身份证件、填写住宿登记表是其合法权利。()
关于明朝会审制度,下列说法不能成立的有
以下关于菜单的叙述中,错误的是
下面有关数据库表和自由表的叙述中,错误的是
最新回复
(
0
)