给定程序中,函数fun的功能是:有NxN矩阵,根据给定的m(m

admin2017-02-27  25

问题 给定程序中,函数fun的功能是:有NxN矩阵,根据给定的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;
    for (i=0;  i  { for(j=N—l—m; j>=0; j——)
    for(j=0; j<____3____; j++)
t[j]=0;
      }
}
main ()
{  int t[] [N]={21,12,13,24,25,16,
47,38,29,11,32,54 f 42,21,33,10 }, i,i,m;
      printf ("\nThe original array:\n") ;
printf ( "\nThe original array:\n") ;
for(i=0;  i{  for(j=.; j      printf ("%2d",t [j])
   printf ("\n") ;
printf ("Input m  (m<=%d)  :  ",N)
     fun (t,m) ;
   printf ("\nThe result is:\n")
for(i=0;  i{  for(j=0;  j      printf ("%2d  ",t [j] ) ;
    printf ("\n") ;
    }
}

选项

答案(1)i++ (2)m (3)m

解析 函数fun的功能是将每行元素中的值均右移m个位置。
第一空:题目要求对每行元素中的值均右移m个位置,故第一空处循环变量每次增l,共循环N次,完成对N行的移位操作,因此第一空处应为“i++”。
第二空:循环“for(j=N—l—m;  j>=0;  j——)”是进行行元素中的值右移m个位置,即把t[j]元素放置在t[j+m]上,因此第二空应为“m”。
第三空:循环“for(j=0; j<____3____;j++)”是对空出来的位置补0,每行元素的前m位数据已经移动到后面,每行空处m个元素,因此第三空为“m”。
转载请注明原文地址:https://jikaoti.com/ti/EVkiFFFM
0

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