首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,若二维数组中的数据为: 33 33 33 33 44 44 44 44 55
请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,若二维数组中的数据为: 33 33 33 33 44 44 44 44 55
admin
2017-02-24
121
问题
请编写函数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中。请勿改动mmn函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
void fun(int(*s)[10],int*b,
int*n,int mm,int nn)
{
}
void main()
{
FILE*wf;
int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}},
i,j,
int a[100]={0},n=0;
printf("The matrix:\n")j
for(i=0;i<3;i++)
(for(j=0;j<4;j++)
printf("%3 d",w
[j]);
printf("\n");
}
fun(w,a,&n,3,4);
printf("The A array:\n");
for(i=0;i<n;i++)
printf("%3d",a
);
printf("\n\n");
/******************/
wf=fopen("out.dat","w");
for(i=0;i<n;i++)
fprintf(wf,"%3d",a
);
fclose(wf);
/******************/
}
选项
答案
void fun(int(*s)[10],int,*b, int *n,int mm,int nn) { int i,j,k:0; for(i=0;i<mm;i++)/*将二维数组s中的数据按行的顺序依次放到一维数组b中*/ for(j=0;j<nn;j++) b[k++]=s[i][j]; *n=k;/*通过指针返回元素个数*/ }
解析
本题可以用两个循环来处理,由于是按行的顺序取出,所以第1个循环用于控制行下标,第2个循环用于控制列下标;若改成按列的顺序取出,则循环应改成:
flor(i=0;i<nn;i++)
for(j=0;j<mm;j++)
b[k++]=s[j]
;
要注意s[j]
的下标,不能用s
[j]。
若按行取出则列标变化较快,若按列取出则行标变化较快,即循环嵌套时,越在内层的循环,其循环变量变化就越快。
转载请注明原文地址:https://kaotiyun.com/show/90Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
阅读下列程序,则程序的输出结果为______。#include"stdio.h"structty{intdata;charc;};main(){structtya={30,’x’};fun(a);printf("%d%c
以下程序的输出结果是______。#include<stdio.h>main(){intifor(i=’a’;i<’f’;i++,i++)printf("%c",i-’a’+’A’);printf("\n");}
有以下程序#include<string.h>main(){charp[20]={’a’,’b’,’c’,’d’},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+strlen(q),
有以下程序main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("
有如下程序main(){intn=9;while(n>6){n--;printf("%d",n);}}该程序的输出结果是
下列选项可以正确表示字符型常量的是
以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#includestructlist{intd
阅读以下程序及对程序功能的描述,其中正确的是#includemain(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n"
设有如下定义:structsk{intn;floatx;}data,*p;若要使p指向data中的n域,正确的赋值语句是
随机试题
Itishightimewe______.
伦琴(R)和库伦每千克(C/kg)的换算关系是
某工业项目厂房主体结构工程的招标公告中规定,投标人必须为国有一级总承包企业,且近3年内至少获得过1项该项目所在省优质工程奖;若采用联合体形式投标,必须在投标文件中明确牵头人并提交联合投标协议,若某联合体中标,招标人将与该联合体牵头人订立合同。该项目的招标
堆石坝垫层料的摊铺多采用(),以减轻物料的分离。
基金必然的当事人是()。I.基金管理人Ⅱ.基金投资者Ⅲ.基金托管人Ⅳ.第三方服务机构
按照《关于调整证券资格会计师事务所申请条件的通知》的规定,会计师事务所申请证券资格的,会计师事务所注册会计师不少于200人。其中最近5年持有注册会计师证书且连续执业的不少于()人,且每一注册会计师的年龄均不超过()周
巴金的《爱情三部曲》不包括()。
发散思维的主要特征有:流畅性、变通性、_________。
验收测试的依据是什么?验收测试对测试环境有何要求?在实际的软件测试过程中,对缺陷的管理与分析至关重要。回答如下问题:(1)针对本测试,Bug的错误类型除了功能性错误外,还可能会包括哪些?(2)严重性级别是Bug的重要属性,请写出常见的功
有关查询设计器,正确的描述是
最新回复
(
0
)