首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是:将数组左下半三角元素中的值全部置0。例如a数组中的值为: 1 9 7 2 3 8 4 5 6 则返回主程序后a数组中的值应为: 0 9 7 0
下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是:将数组左下半三角元素中的值全部置0。例如a数组中的值为: 1 9 7 2 3 8 4 5 6 则返回主程序后a数组中的值应为: 0 9 7 0
admin
2019-04-14
86
问题
下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是:将数组左下半三角元素中的值全部置0。例如a数组中的值为:
1 9 7
2 3 8
4 5 6
则返回主程序后a数组中的值应为:
0 9 7
0 0 8
0 0 0
注意:请勿改动main函数和其他函数中的任何内容,仅在函数fut的花括号中填入你编写的若干语句。
试题程序:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define N 5
void fun (int a[][N])
{
}
wild main()
{
FILE *wf;
int a[N][N],i,j;
int b[N][N]={1,9,7,2,4,2,3,8,1,2,4,5,6,7,5,4,0,6.8,0.2,7,1,6,4};
system(″CLS″);
printf(″* * * * *The array* * * * *\n″);
for(i=0;i<N;i+ +)/*产生一个随机的5*5矩阵*/
{
for(j=0;j<N;j+ +)
{
a
[j]=rand()%10;
printf(″%4d″,a
[j]);
}
printf(″\n″);
}
fun(a);
printf(″THF RESULT\n″);
for(i=0;i<N;i+ +)
{
for(j=0;j<N;j+ +)
printf(″%4d″,a
[j]);
printf(″\n″);
}
/* * * * * * * * * * * * * * * * /
wf=fopen(″out.dat″,″w″);
fun(b);
for(i=0:i<N;j+ +)
{
for(j=0;i<N;j+ +)
fprintf(wf,″%4d″,b
[j]);
fprintf(wf,″\n″);
}
fclose(wf);
/* * * * * ** * * * * ** * * */
}
选项
答案
void fun(int a[][N]) { int i,j; for(i=0;i<N;i+ +) for(j=0;j< =i;j+ +) a[i][j]=0; /*将数组左下半三角元素中的值全部置0*/ }
解析
本题考查:for循环语句,使用嵌套循环语句遍历二维数组的各个元素;二维数组元素的引用。
对于N×N二维数组,如何表示其左下半三角元素,可以通过以下语句实现:
for(i=0;i<n;i+ +)
for(j=0;j< =i;j+ +)
外层循环用来控制矩阵的行下标,内层循环控制矩阵的列下标。注意列下标的取值范围,因为要表示下三角元素,所以j的范围是0~i。
转载请注明原文地址:https://www.kaotiyun.com/show/CmRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>structs{intx,y;}data[2]={10,100,20,200};main(){structs*p=data;prin
设有以下定义和语句,则*(*(p+2)+1)的值为【】。inta[3][2]={10,20,30,40,50,60},(*p)[2];p=a;
以下函数将b字符串连接到a字符串的后面,并返回a中新字符串的长度。strcen(charaC),charb[]){intnum=0,n=0;while(*(a+num)!=【】)num++;
假定int类型变量占用两个字节,若有定义:intx[10]={0,2,4};,则数组X在内存中所占字节数是______。
有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}运行该程序的输出结果是______。
有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。
以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。#defineN4voidrotade(inta[]
设有以下定义和语句:inta[3][2]={1,2,3,4,5},*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是【】。
设x和y为int型变量,且x的值为15,xy的值为240,则表达式(x&y)&y‖y的结果为()
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是()。
随机试题
PASSAGEONE(1)Saintsshouldalwaysbejudgedguiltyuntiltheyareprovedinnocent,buttheteststhathavetobeapplied
患者女性,高血压病病史5年,2d前因发热服用退热药,次日出现头晕,排黑粪约100g,急诊入院,测血压120/70mmHg,大便潜血2+。最可能的诊断
下列哪项检查阳性表示乙型肝炎患者传染性强
患者男性,41岁,乙肝史10年余,近来自觉右上腹胀痛,首选的检查是
同一建筑物内应采用统一规格的消火栓、水枪和水带,其中,水带长度不应超过()m。消防水泵接合器设置位置符合要求的有()。
论述杜威的“儿童中心论”观点。
在Linux网络配置中,可以通过运行(51)命令来设置主机名字;在不使用DNS和NIS进行地址解析时,为保证解析器能找到主机的IP地址,必须将所使用的主机名字写入(52)文件中;解析器的功能是(53);Linux中提供名字服务的程序是(54);配置文件"h
在窗体中添加一个名称为Commandl的命令按钮,然后编写如下事件代码:PrivateSubCommandl_Click()A=75IfA>60ThenI=1IfA>70ThenI=2IfA>
ThetraditionofthebowheadwhalehuntbackathousandyearsandisavitalpartofInuitculture.
Inthe20thdecennialU.S.census,takenin1980,theresidentpopulationintheUnitedStatesnumbered226,547,346.About18
最新回复
(
0
)