首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
55
问题
请编写函数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全国计算机二级
相关试题推荐
下列程序输出的结果是()。main(){inta;a=-4+4*5-6;printf("%d",a);a=4+4%5-6;printf("%d",a);a=-3+4%6/5;printf("%d",
设计程序时,应采纳的原则之一是()。
有以下程序voidf(intx,inty){intt;if(x<y){t=x;x=y;y=t;}main(){inta=4,b=3,c=5;f
若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do
以下四个选项,不能看作一条语句的是()。
源程序文档化要求程序应加注释。注释一般分为序言性注释和【】注释。
在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。
以下函数返回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的ASCII码为65。以下程序运行后的输出结果是【】。main(){chara,b;a=’A’+’5’-’3’;b=a+’6’-’2’;printf("%d%c\n",a,B);}
编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在书写功能性注释时应考虑
随机试题
下列关于发明人的说法正确的是?
铣削外花键时,工件装夹后应找正哪些项目?若找正时偏差较大会产生哪些弊病?
《测绘成果管理条例》规定,测绘行政主管部门在审批对外国组织提供属于国家秘密的测绘成果前,应该征求()的意见。
建设工程风险识别的( )可避免识别工作效率低和风险识别的主观性的缺陷。
1999年11月,经美国国会通过和总统批准的《金融服务现代化法案》对投资银行的影响在于,该法律在名称上不提银行,而提金融服务。()
某公司2009年1月31日的资产负债表反映的部分数据如下(单位:元):补充资料如下:(1)销售预算:2月份100000元,3月份120000元;(2)预计销售当月可收回货款60%,其余款项中除其中的1%为坏账外其余可在次月收
旅游咨询服务的形式可分为()。
【B1】【B2】
设总体X在区间[0,θ]上服从均匀分布,X1,X2,…,Xn是取自总体X的简单随机样本,(Ⅰ)求θ的矩估计量和最大似然估计量;(Ⅱ)求常数a,b,使
设z=f(x,y)由f(x+y,x—y)=x2一y2一xy确定,求dz.
最新回复
(
0
)