程序定义了NxN的二维数组,并在主函数中自动赋值。 请编写函数 fun(int a[][N]),函数的功能是:使数组左下三角元素中的值全部置成0。 例如:a数组中的值为 则返回主程序后a数组中的值应为 注意:部分源程序存在文件PRO

admin2021-04-28  31

问题 程序定义了NxN的二维数组,并在主函数中自动赋值。
请编写函数
    fun(int a[][N]),函数的功能是:使数组左下三角元素中的值全部置成0。
    例如:a数组中的值为

则返回主程序后a数组中的值应为

  注意:部分源程序存在文件PROGl.C中。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#inc2ude
#inc2ude
#define N 5
void fun  (int a[][N])
{
}
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。  */
  FILE *rf,*wf;
  int i,j,a[5][5];
  rf=fopen(“in.dat”,“r”);
  wf=fopen(“out.dat”,“w”);
  for(i=0  ;  i<5;  i++)
  for(j=0;j<5;j++)
    fscanf(rf,“%d”,&a[j]);
  fun(a);
  for  (i=0;  i<5;  i++)  {
    for(j=0;j<5 ; j++)fprintf
(wf,“%4d”,a[j]);
    fprintf(wf,“\n”);
}
  fclose(rf);
  fclose(wf);
}
main()
{  int a[N][N],i,j;
    printf("*****The array*****\n");
    for(i=0 ; i    {  for(j=0;j    {  a[j]=rand()%10;printf
(“%4d”,a[j]);)
    printf(“\n”);
    }
    fun(a);
    printf(“THE RESULT\n”);
    for(i=0 ; i    {  for(j=0;j(“%4d”,a[j]);
    printf(“\n”);
  }
  NONO();
}

选项

答案int i, j; for(i=0; i
解析 程序功能是使数组左下半三角元素的值全部置成0。
(1)对二维数组常用双重循环结构来处理:外层循环控制二维数组的行处理,内层循环控制二维数组的列处理。
    (2)左下半三角元素的下标特点是列下标小于或等于行下标,即i<=i。
    (3)依次访问二维数组,把符合以上条件的元素的值赋0。
    该题是对矩阵操作的考查。
转载请注明原文地址:https://jikaoti.com/ti/mWz0FFFM
0

最新回复(0)