首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序定义了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
39
问题
下列程序定义了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://jikaoti.com/ti/Ggf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是______。
下面程序的功能:输出100以内能被3整除且个位数为6的所有整数,请填空。#include<stdio.h>main(){inti,j;for(i=0;i<10或i<=9;i++){j
以下程序(程序左边的数字为附加的行号)______。1#include<str.h>2#include<stdio.h>3main()4{chars[]="string";5puts(s);6strc
有以下程序 main() { char s[]="abcde"; s+=2; printf("%d\n",s[0]); } 执行后的结果是______。
有以下程序: #define P3 void F(int x){return(P*x*x);} main() {printf("%d\n",F(3+5));} 程序运行后的输出结果是 ______。
以下函数fun用于求两个整数a和b的最大公约数。fun(a,B)inta,b;{inti,j,m,n;if(a>B){m=a;a=b;【】;}i=a;j=b;while
若有说明inti,j=2,*p&i;,则能完成i=j赋值功能的语句是______。
数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun()的功能是:计算前n(4≤n≤50)项的累计和。在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数里。如,当n的值为20时,该数列为3
按照C语言规定的用户标识符命名规则,不能出现在标识符中的是
下列说法正确的是()。
随机试题
场站内的设备(如压力容器)应设(),且不同压力等级间应分设,对泄压气体的排放应就近引入同级压力的放空管线。
Canyou______thedifference______thetwophrases?
为了防止钢柱的位移过大,应做到( )。
在Excel的运算中,下列求和公式的表达有错误的是( )。
交易成本中,借贷利率差成本与持有期的长度无关。( )
甲公司为股份有限公司。根据公司法律制度的规定,下列情形中,甲公司可以收购本公司股份的有()。
243,217,206,197,171,(),151
考生文件夹下存在一个数据库文件“samp3.accdb”,里面已经设计好表对象“tStud”,同时还设计出窗体对象“fStud”和子窗体对象“Detail”。请在此基础上按照以下要求补充“fStud”窗体的设计:在窗体中有两个标签控件,名称分别为“La
Readthefollowingpassagecarefullyandthenparaphrasethenumberedandunderlinedparts.("Paraphrase"meanstoexplaintheme
Theygotooneoftheworld’smostprestigiousuniversitiesandpridethemselvesontheirsuperiorintellectbutalmosthalfof
最新回复
(
0
)