全部为3,…依次类推。例如,若N=5,生成的矩阵为: 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1
请在程序的下划线处填入正确的内容并把下划线删除, 得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #define N 7
void fun(int (*a) __1__) { int i,j,k,m; if(N%2==0) m=N/2 ;
使程序 else m=N/2+1;
for(i=0; i<=\ for(j= __2__ ; j<=\ a[i][j]=a[N-i-1][j]=i+1; for(k=i+1; k<=\
a[k][i]=a[k][N-i-1]= __3__; } } main()
{ int x[N][N]={0},i,j; fun(x);
printf(\ for(i=0; i<=\ { for(j=0; j<=\ printf(\
} }
解题思路:
第一处:建立一个N×N的矩阵,所以应填:[N]。 第二处:j的起始变量值应i。 第三处:也应该填写i+1。 改错题
给定程序MODI1.C中函数 fun 的功能是: 将十进制正整数m转换成k(2≤k≤9) 进制数, 并按高位到低位顺序输出。
例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。
请改正 fun 函数中的错误,使它能得出正确的结果。 注意:不要改动 main 函数。不得增行或删行,也不得更改程序的结构!
给定源程序: #include
#include
void fun( int m, int k ) {
int aa[20], i; for( i = 0; m; i++ ) {
aa[i] = m/k; m /= k; }
for( ; i; i-- )
printf( \ } main() { int b, n;

