2013年计算机二级C语言上机题库四十二_第3页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年6月3日
  程序题
  下列程序定义了N*N的二维数组,并在主函数中自动赋值.请编写函数fun(int a[][N],
  int n), 该函数的功能是:使数组右上半三角元素中的值乘以m.
  例如:若m的值为2,a数组中的值为
  则返回主程序后a数组中的值为
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句. #include <stdio.h>
  #include <conio.h>
  #include <stdlib.h>
  #include <string.h>
  #define N 5
   void fun ( int a[][N], int m )
  {int i,j;
  for(j=0;j<N;j++)
  for(i=0;i<=j;i++)
  a[i][j]=a[i][j]*m;
   }
  main ( )
  {
  int a[N][N], m, i, j;
  FILE *out;
  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");
  }
   m = rand()%4 ;
  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");
  }
  out=fopen ("out.dat", "w");
  for ( i=0; i<N; i++ )
  for( j=0; j<N; j++ )
  a[i][j] = i*j;
  fun ( a ,8);
  for ( i=0; i<N; i++ )
  {
  for ( j=0; j<N; j++ )
  fprintf(out, "%4d", a[i][j] );
  fprintf(out, "\n");
  }
  fclose (out );
  }
首页 1 2 3 尾页

相关文章