填空题
下列给定程序中,函数fun的功能是:将N×N矩阵主对角线元素的值与反向对角线对应位置上元素的值进行交换。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 交换后为: 3 2 1 4 5 6 9 8 7 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #define N4 /************found*********/ void fun(int______,int n) int i,s; /**********found**********/ for(______;i++) s=t[i][i]; t[i][i]=t[i][n-i-1]; /*******found***********/ t[i][n-i-1]=______; main() int t[][N]=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i,j; printf("\nThe original array:\n"); for(i=0;i<N;j++) for(j=0;j<N;j++) printf("%d",t[i][j]); printf("\n"); fun(t,N); printf("\nThe result is:\n"); for(i=0;i<N;i++) for(j=0;j<N;j++) printf("%d",t[i][j]); printf("n");
【参考答案】
t[][N] i=0;i<N s
点击查看答案&解析
热门
试题
填空题
由N个有序整数组成的数列已放在一维数组中,下列给定程序中,函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(low<high),然后用m与中间位置(mid)上元素的值进行比较。如果m的值大于中间位置元素的值,则下一次的查找范围落在中间位置之后的元素中;反之,下一次的查找范围落在中间位置之前的元素中。直到low>high,查找结束。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #define N 10 ************found******** void fun(int a[],int m) int low=0,high=N-1,mid; while(low<=high) mid=(low+high) 2; if(m<a[mid]) high=mid-1; **********found********* else If(m>a[mid]) low=mid+1; else return(mid); return(-1); main() int i,a[N]=-3,4,7,9,13,45,67,89,100,180,k,m; printf( a数组中的数据如下: ); for(i=0;i<N;i++) printf( %d ,a[i]); printf( Enter m: ); scanf( %d ,&m); k=fun(a,m); if(k>=0) printf( m=%d,index=%d n ,m,k); else printf( Not be found! n );
点击查看答案&解析