首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是"幻方",若是,函数返回值为1;若不是,函数返回值为0。"幻方"的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下3×3的矩阵就是一个"幻方":
给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是"幻方",若是,函数返回值为1;若不是,函数返回值为0。"幻方"的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下3×3的矩阵就是一个"幻方":
admin
2017-02-24
65
问题
给定程序中,函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩阵是否是"幻方",若是,函数返回值为1;若不是,函数返回值为0。"幻方"的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。
例如,以下3×3的矩阵就是一个"幻方":
4 9 2
3 5 7
8 1 6
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BIANK1.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
;
8 m2+=a
[j];}
9 if(m1!=m2)return 0;
10 for(i=0;i<N;i++){
11 /*********found*********/
12 row=colum=
【1】
;
13 for(j=0;j<N;j++)
14 {row+=a
[j];
15 colum+=a[j]
;)
16 /*********found*********/
17 if((row!=colum)
【2】
(row!=m1))
18 return 0 ;
19 }
20 /*********found*********/
21 return
【3】
;
22 }
23 main()
24 { int x[N][N],i,j; .
25 printf("Enter number for array:\n");
26 for(i=0;i<N ;i++)
27 for(j=0;j<N;j++)
28 scanf("%d",&x
[j]);
29 printf("Array:\n");
30 for(i=0;i<N;i++)
31 { for(j=0;j<N;j++)
32 printf("%3d",x
[j]);
33 printf("\n");
34 }
35 if(fun(x))
36 printf("The Array is amagic square.\n");
37 else
38 printf("The Array isn’ta magic square.\n");
39 }
选项
答案
(1)0 (2)‖ (3)1
解析
填空1:本题考查为变量赋初值,在这里row+=a
[j]代表是每行的总和,colum+=a[j]
代表的是每列的总和,因而row,colum在初始化时应该为零,此空应该填0。
填空2:本题考查了if条件语句,此句if判断代表每行的总和与列是否相等,每行的总和是否与对角线的总和相等,两者若有一个不成立,即返回0,因而此空应该填写‖。
填空3:题目要求若矩阵是“幻方”,则函数返回值为1,因而此空应该填写1。
转载请注明原文地址:https://www.kaotiyun.com/show/D0Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("
C语言规定,在一个源程序中,main函数的位置
下列有关数据库的描述,正确的是
以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#includestructlist{intd
以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。main(){intx[10],a[9],I;for(I=0;I
已有定义:charc=′′;inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【】。
若有以下函数首部intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是
阅读以下程序及对程序功能的描述,其中正确的是#includemain(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n"
下列函数的运行结果是main(){inti=2,p;intj,k;j=i;k=++i;p=f(j,k);printf("%d",p);}intf(inta,intb){intc;if(a>b
随机试题
钙离子、镁离子的存在会使管线结垢。()
高选择性胃迷走神经切断术的要点是()(1991年)
A、惊厥B、帕金森病C、抑郁症D、痛风E、记忆障碍硫酸镁用于治疗
下列股票交易行为中,属于国家有关证券法律、法规禁止的有( )。
当事人提交给法院的以下材料中,不属于民事诉讼证据的有()。
同一借款人对本行或其他银行的部分债务已经不良时,其贷款至少可以归为()。
具有下列哪种情形,男方可以提出离婚?()。
1951年至1952年开展的“三反”运动的内容是( )
A、It’s6:00a.m.B、It’ssnowing.C、I’dliketodrink.B
Ourbodiesexperienceanebbandflowofenergythroughouttheday.Thisiscalledacircadianrhythm,andithasbeenstudied【C
最新回复
(
0
)