C语言题目练习3C

在此程序中,定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[ ][N],int m),该函数的功能是使数组右上半三角元素中的值乘以m。
例如,若m的值为2,a数组中的值为:

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

注意:部分源程序在文件prog1.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>
#include <stdlib.h>
#define  N  5
void fun ( int a[][N], int m )
{



}

main ( )
{  int  a[N][N], m, i, j;void NONO ();
   printf("***** The array *****\n");
   for ( i =0;  i<N; i++ )
   {  for ( j =0; j<N; j++ )
     {  a[i][j] = rand()%20; printf( "%4d", a[i][j] ); }
        printf("\n");
   }
   do m = rand()%10 ; while ( m>=3 );
   printf("m = %4d\n",m);
   fun ( a ,m );
   printf ("THE  RESULT\n");
   for ( i =0;  i<N; i++ )
   {  for ( j =0; j<N; j++ ) printf( "%4d", a[i][j] );
      printf("\n");
   }
   NONO ( );
}

void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *rf, *wf ;
  int i, j, n, 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[i][j]) ;
  fscanf(rf, "%d", &n) ;
  fun(a, n) ;
  for ( i = 0;  i < 5; i++ ) {
    for ( j = 0; j < 5; j++ ) fprintf(wf, "%4d", a[i][j] );
    fprintf(wf, "\n");
  }
  fclose(rf) ;
  fclose(wf) ;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值