2010计算机等考二级C:50套上机程序填空题(11)
2010计算机等考二级C:50套上机程序填空题(11)
35、给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9计算结果为
7 4 1
8 5 2
9 6 3
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#define N 4
void fun(int (*t)[N])
{ int j ,r[N];
for(j=0; j
for(j=0; j
/**********found**********/
t[0][N-j-1]=t[j][___1___ ];
for(j=0; j
t[j][0]=t[N-1][j];
/**********found**********/
for(j=N-1; j>=0;___2___ )
t[N-1][N-1-j]=t[j][N-1];
for(j=N-1; j>=0; j--)
/**********found**********/
t[j][N-1]=r[___3___];
}
main()
{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j;
printf(" The original array: ");
for(i=0; i
{ for(j=0; j
}
fun(t);
printf(" The result is: ");
for(i=0; i
{ for(j=0; j
}
}
36、给定程序中,函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边置为0。例如,N=3,m=2,有下列矩阵
1 2 3
4 5 6
7 8 9程序执行结果为
0 0 1
0 0 4
0 0 7
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#define N 4
void fun(int (*t)[N], int m)
{ int i, j;
/**********found**********/
for(i=0; i
{ for(j=N-1-m; j>=0; j--)
/**********found**********/
t[i][j+___2___ ]=t[i][j];
/**********found**********/
for(j=0; j<___3___; j++)
t[i][j]=0;
}
}
main()
{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j, m;
printf("
The original array:
");
BR>
for(i=0; i
{ for(j=0; j
printf("- ",t[i][j]);
printf(" ");
}
printf("Input m (m<=%d): ",N);scanf("%d",&m);
fun(t,m);
printf(" The result is: ");
for(i=0; i
{ for(j=0; j
printf("- ",t[i][j]);
printf(" ");
}
}
[ 结 束 ]