首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序定义了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-03-19
133
问题
下列程序定义了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函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<(20hio.h>
#include<stdio.h>
#include<stdlib.h>
#define N5
void fun(int a[][N])
{
}
void 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("THE 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;i++)
{
for(j=0;j<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://kaotiyun.com/show/T6Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在C语言中,存储类型为()的变量只在使用它们时才占用存储空间。
有以下程序:#includemain(){inta=6,b=7,m=1;switch(a%2){case0:m++;break;case1:m++:
以下程序运行后的输出结果是[]。main(){intx,a=1,b=2,c=3,d=4;x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;pri
数据库恢复是将数据库从______状态恢复到某一已知的正确状态。
有以下程序#include<stdio.h>main(){charc1=’1’,c2=’2’;c1=getchar();c2=getchar();putchar(c1);putchar(c2);}当运行
下述程序的输出结果是()。#includemain(){inti;for(i=1;i<=10;i++){if(i*i>=20)&&(i*i<=100))break;
下面函数调用语句含有实参的个数为func((exp1,exp2)(exp3,exp4,exp5));
下列程序的运行结果是:【】。#include<stringh>char*ss(char*s){returns+strlen(s)/2;}main(){char*p,*str="abcdefgh";p=
以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6请填空。doublefun(doublex){return(x*x-2*x+6);}{
主程序调用findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是#include<stdio.h>findmax(int*s,intt,int*k){intp;for(p=0,*k=p;p<t;p+
随机试题
使个人改变以前的知识结构、价值标准和行为模式,建立起新的、符合社会要求和新的形势需要的知识结构、价值标准和行为模式的过程,被称为【】
能促进根尖周组织修复的填充材料是()
如图所示,iL(0-)=0,在t=0时闭合开关S后,电感电流iL(t)为()。
试配混凝土时,经计算其砂石质量为1860kg,选用砂率为35%,其石子用量为()kg。
对于单值一移动极差控制图,单值控制图的上控制限UCL与中心线的距离为()。
旅游服务
【2009年湖南省第114题】甲、乙两辆汽车都由北京经长沙开往广州,出发时两车共有乘客160人,在长沙站甲车增加17人,乙车减少23人,这样在开往广州时,两车的乘客人数正好相等,请问甲车原有多少人?
在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:PrivateSubCommand1Click()StaticXAsIntegerStaticYAsIntegerClsY=1Y=Y+5X=5+XPrint
DoubleEagleII,thefirsttransatlanticballoon,wasgreetedbyavidcrowdsinFrance.
A、Byforeigners.B、Bythedeaforhearing-impaired.C、ByblindpeopleD、Byordinarypeople.B
最新回复
(
0
)