首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 例如:二维数组中的值为: 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1
请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 例如:二维数组中的值为: 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1
admin
2018-09-27
35
问题
请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
例如:二维数组中的值为:
1 3 5 7 9
2 9 9 9 4
6 9 9 9 8
1 3 5 7 0
则函数值为61。
注意:部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 #define M 4
3 #define N 5
4 int fun(int a[M][N])
5 {
6
7 }
8 main()
9 { Int aa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};
10 int i,j,y;void NONO();
11 printf(’’The original data is:\n’’);
12 for (i=0;i<M;i++)
13 { for (j=0;j<N;J++)printf(’’%6d’’,aa
[j]);
14 printf(’’\n’’);
15 }
16 y=fun(aa);
17 printf(’’\nThe sum:%d\n’’,y);
18 printf(’’\n’’);
19 NONO();
20 }
21 void NONO()
22 {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
23 int i,j,y,k,aa[M][N];
24 FTLE *rf,*wf;
25 rf=fopen(’’in.clat’’,’’r’’);
26 wf=fopen(’’out.dat’’,’’w’’);
27 for(k=0;k<10;k++) {
28 for(i=0;i<M;i++)
29 for(j=0;j<N;j++) fscanf(rf,’’%d’’,&aa
[j]);
30 y=fun(aa);
31 fprintf(wf,’’%d\n’’,y);
32 }
33 fclose(rf);
34 fclose(wf);
35 }
选项
答案
1 int tot=0,i,j; 2 for(i=0;i<N;i++) { 3 tot+=a[0][i]; 4 tot+=a[M-1][i]; 5 } 6 for(i=1;i<M-1;i++){ 7 tot+=a[i][0]; 8 tot+=a[i][N-1]; 9 } 10 return tot;
解析
该程序功能是求出二维数组周边元素之和。其中,周边元素是指数组的最上和最下的两行,最左和最右的两列。数组第一行元素的行下标为0,最后一行元素的行下标为“M-1”,第一列的列下标为0,最后一列的列下标为“N-1”。
进入fun函数,根据前面的分析:求周边元素的和,可以采用两个循环分别把行元素和列元素相加。但要避免把周边元素重复相加。
转载请注明原文地址:https://kaotiyun.com/show/V8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有如下程序:#defineN2#defineMN+1#defineNUM2*M+1#main(){inti;for(i=1;i<=NUM;i++)
若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是()。
若变量a,b 已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句[]。
若有如下程序:main(){intx=4,y=3,x=2,t;t=x<y<z;printf("%d\n",t);}则程序运行后的输出结果是【】。
以下程序运行后的输出结果是______。#defineS(x)4*X*x+1main(){inti=6,j=8;printf("%d\n",S(i+i));}
下面定义的结构体类型包含3个成员,其中成员变量x用来存入整型数据,成员变量y用来存入实型数据,成员变量next是指向自身结构体的指针。请将定义补充完整。structstu{intx;【】【】next;}
下面程序的功能是:计算1~10之间的奇数之和与偶数之和,请填空。#include<stdio.h>main(){inta,b,c,i;a=c=0;for(i=0;i<=10;i+=2)
本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。voidbubble(inta[],intn){intid,max,temp;max=n-1;do{j=0;f
随机试题
试述清末收回利权运动的过程及影响。(南京大学2014年中国近现代史真题)
燃油泄漏试验不能发现的问题是()。
核酸变性后,可发生哪些效应
下列新建商品房销售的代理业务相关工作中,在最后阶段完成的是()。
泄水装置设于管网( )。
按照《城市商品房预售管理办法》的规定,以下关于商品房的销售的规定,()选项是正确的。
属于筹资活动所涉及的主要凭证和会计记录有( )。下列关于了解被审计单位及其环境的叙述正确的是( )。
请从下面所给的四个句子中找出一个有歧义的句子来。()
Whatpointdoesthewritermakeinthefirstparagraph?Inthelastparagraph,whatismeantby’cognitivecost’?
AIisprobablycomingforyourjob.Buttheremaybeawaytofuture-proofyourcareer."Humansaregoingtofindmeaningfulwor
最新回复
(
0
)