首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
47
问题
请编写函数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全国计算机二级
相关试题推荐
设有如下程序段:intx=2002,y=2003;printf(“%d\n”,(x,y));则以下叙述中正确的是
以下程序运行后的输出结果是______。main(){intx=0210;printf("%x\n",x);}
以下程序的输出结果是【】。 #define MCRA(m) 2*m #define MCRB(n,m) 2*MCRA(n)+m main( ) { inti=2,j=3; printf("%d\n",MCRB(j,MCRA(i)
软件工程研究的内容主要包括:【】技术和软件工程管理。
以下函数值的类型是______。fun(floatx){floaty;y=3*x-4;returny;}
下面定义的结构体类型包含3个成员,其中成员变量x用来存入整型数据,成员变量y用来存入实型数据,成员变量next是指向自身结构体的指针。请将定义补充完整。structstu{intx;【】【】next;}
下列关键字中,不属于C语言变量存储类别的是______。
已有定义:inti,a[10],*p;,则合法的赋值语句是
以下函数返回a所指数组中最小的值所在的下标值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[j])________return(p);}在下划线处应填入的是
本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。voidbubble(inta[],intn){intid,max,temp;max=n-1;do{j=0;f
随机试题
中华人民共和国各级监察委员会是__________,是行使国家监察职能的专责机关。
以IP3和DG作为第二信使的激素是
A、重金属B、水溶性高分子C、细菌D、热原E、鞣质注射剂制备过程中,用2%~5%的明胶溶液处理是除去药液中的
下列叙述中正确的是()。
背景资料:某办公楼工程,地下2层,地上15层,建筑面积3.0万m2,施工单位进场后按照批准的总平面布置图进行了现场规划,其中库房分成普通库房和特殊库房,分建在不同的位置,主要出入口及楼层各主要部分等均悬挂了明显的警示牌,在施工过程中发生了以下事件
背景材料: 某公路工程施工总承包一级企业承包了长2650m的公路隧道施工任务,该隧道穿越的岩层主要由泥岩和砂岩组成,施工单位采用新奥法施工,台阶法开挖,复合式衬砌。施工中某段岩石裂隙发育,地表水从岩石裂隙中渗入洞内,导致该段冒顶、塌方。事故发生后,施工
建设工程项目质量控制体系只用于()
下列各项关于会计职业道德和会计法律制度两者的区别的论述中,正确的是()。
“人的正常寿命可能是一百二十到一百五十岁”,这个说法是由研究人类寿命的科学家____________出来的。填入画横线部分最恰当的一项是:
PASSAGETWOWhydoesIBMinvestmoneyforemployees?
最新回复
(
0
)