使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun()的功能是将N × N矩阵中的元素按列向右移动1个位置,右边被移出矩阵的元素绕回左边第1列。 例如,N=3,有下

admin2023-02-27  7

问题 使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun()的功能是将N × N矩阵中的元素按列向右移动1个位置,右边被移出矩阵的元素绕回左边第1列。
  例如,N=3,有下列矩阵:

  请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
    注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<stdio.h>
2 #define N 4
3 void fun(int(*t)[N])
4 {
5    int i,j,x;
6    for (i=0;i<<u>【1】</u>;i++)
7    {
8    x=t[<u>【2】</u>];
9    for(j=N-1;j>0;j --)
10    t[j]=t[j-1];
11    t[<u>【3】</u>]=x;
12    }
13 }
14 main()
15 {
16  int i,j,t[][N]=(21,12,
13,24,25,16,47,38,29,11,32,
54,42,21,33,10);
17    printf("The original array:\n");
18    for(i=0;i<N;i++)
19    {
20    for(j=0;j<N;j++)
21    printf("%2d",t[j]);
22    printf("\n");
23    }
24    fun(t);
25    printf("\nThe result is:\n");
26    for(i=0;i<N;i++)
27    {
28    for(j=0;j<N;j++)
29    printf("%2d",t[j]);
30    printf("\n");
31    }
32 }

选项

答案(1)N (2)N-1 (3)0

解析 填空1:因为是N×N的矩阵,所以行列数是相同的。外层循环用来循环行,故空1处应该填N。
    填空2:此语句将移出矩阵的元素暂存,移出矩阵的元素的列下标为N-1,故空2处应该填N-1。
    填空3:此语句将移出矩阵的元素放入最左边,也就是第1列,第1列元素的列下标为0,故空3处应该填0。  
转载请注明原文地址:https://jikaoti.com/ti/CBoiFFFM
0

相关试题推荐
最新回复(0)