首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值为1;不是,函数返回值为0。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下3×3的矩阵就是一个“幻方
给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值为1;不是,函数返回值为0。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下3×3的矩阵就是一个“幻方
admin
2018-09-27
46
问题
给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值为1;不是,函数返回值为0。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。
例如,以下3×3的矩阵就是一个“幻方”:
4 9 2
3 5 7
8 1 6
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK 1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #define N 3
3 int fun(int(*a)[N])
4 { int i,j,m1,m2,row,colum;
5 m1=m2=0;
6 for(i=0;i<N;i++)
7 {j=N-i-1;m1+=a
;m2+=a
[j];}
8 if(m1!=m2)return 0;
9 for(i=0;i<N;i++) {
10 /**********found**********/
11 row=colum=__1__;
12 for(j=0;j<N;j++)
13 {row+=a
[j];colum+=a[j]
;}
14 /**********found**********/
15 if((row!=colum)__2__(row!=m1))return 0;
16 }
17 /**********found**********/
18 return __3__;
19 }
20 main()
21 { int x[N][N],i,j;
22 printf(’’Enter number for array:\n’’);
23 for(i=0;i<N;i++)
24 for(j=0;j<N;j++) scanf("%d’’,&x(i][j]);
25 printf("Array:\n’’);
26 for(i=0;i<N;i++)
27 {for(=0;j<N;j++) printf(’’%3d’’,x
[j]);
28 printf(’\n’’);
29 }
30 if(fun(x))printf(’’The Array is a magic square.\n’’);
31 else printf(’’The Array isn’t at magic square.\n’’);
32 }
选项
答案
(1)0 (2)|| (3)1
解析
函数fun的功能是判定形参a所指的N×N的矩阵是否是”幻方”。第一空:由“row+==a
[j];colum+=a[j]
;”可知row是计算行和,colum是计算列和,故第一空处的初始化应将行和与列和初始化为0,即第一空处应为“0”。第二空:“if((row!=colum) __2__(row!=m1))return 0;”如果行和不等于列和,那么矩阵不是幻方,如果行和不等对角线和,那么矩阵也不是幻方,即两者是或的关系,故第二空处应为“||”第三空:不是幻方的情况在前面都会返回0,所有不是幻方的情况都已经考虑到了,剩下的就是幻方,故第三空处为“1”。
转载请注明原文地址:https://kaotiyun.com/show/28xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:main(){intx=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);}程序执行后的输出结果
设计程序时,应采纳的原则之一是()。
下面关于对象概念的描述中,错误的是
若变量a,b 已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句[]。
以下程序运行后的输出结果是()。main(){inta=3,b=4,c=5,t=99;if(b<a&&a<C)t=a;a=c;c=t;if(a<c&&b<C)t=b;b=a;a=t;printf(
有如下程序: main() {char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]!=’
以下关于C语言数据类型的叙述中正确的是()。
若有定义floatb[15],*p=b;,且数组b的首地址为200H,则p+13所指向的数组元素的地址为______。
已有定义:inti,a[10],*p;,则合法的赋值语句是
对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为【】。
随机试题
患儿,女,15岁,头痛2周。CT平扫示左侧外侧裂池消失,脑室轻度扩大,拟诊脑膜炎。进一步检查的方法是
在假释考验期限内,()应当撤销假释。
某订购50吨水泥的材料采购合同,供货方在约定的交货时间前30天通过铁路运输将55吨水泥发运到工程所在地车站。采购方将全部货物运到施工现场后露天存放,恰逢连续降雨使3吨水泥被浸泡。关于水泥交货后义务和责任的说法,正确的有()
大乡绅的仆人可以指挥警察区长,可以_________招摇过市——这都是民国五六年的事,并非前清君主专制时代。自己当时_________,看了一肚子气;可是_________,也只好让那口气憋着罢了。依次填入画横线部分最恰当的一项是()
1号烧杯中有浓度为4%的盐水180克,2号烧杯中则为浓度为10%的盐水。从2号烧杯中取出120克盐水倒人1号烧杯中,再往2号烧杯中加水,使两个烧杯拥有一样多的同浓度盐水。请问,2号烧杯中原来有盐水多少克?()
一位机场安全检查人员认为,他在长期工作经历中培养出了一种特殊的能力,即能够准确地判断一个人有没有欺骗他。他之所以这样认为的依据是,在旅客进行登机安全检查时,且未经机器检查前,他仅靠观察神色和简单交谈就能确定一个人是否可疑。而在他认为可疑的人中,无一例外地都
今年小明的父母年龄之和是小明的6倍,四年后小明的父母年龄之和是小明的5倍。已知小明的父亲比他的母亲大2岁,那么今年小明父亲多少岁?
一般人格权的内容包括()
【F1】WiththeextensionofdemocraticrightsinthefirsthalfofthenineteenthcenturyandtheensuingdeclineoftheFederalis
A、Shewilltakethesubway.B、Shewillhurrytotheconference.C、Shewillskiptheconferenceandgosightseeing.D、Shewillta
最新回复
(
0
)