程序设计进阶模拟试题

简介: 程序设计进阶模拟试题

题目描述

程序定义了NxN的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m 。

#include 
#include 
#include 
#define N 5
int fun ( int a[][N], int m )
/不得改动此注释文字及位置,begein/
{
}
/不得改动此注释文字及位置,end/
NONO( )
{
FILE *rf, *wf ;
int i, j, n, a[5][5] ;
rf = fopen(“bc02.in”, “r”) ;
wf = fopen(“bc02.out”, “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) ;
}
main ( )
{ int a[N][N], m, i, j;
printf(”***** The array *****\n”);
for ( i =0; i
{ for ( j =0; 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
{ for ( j =0; j
printf(“\n”);
}
NONO ( );
}



题解

参考下面的代码,该函数将循环遍历数组的右上三角形并对其中的每个元素乘以m,这样就能够得到实现要求。

#include 
#include 
#include 
#define  N  5
int fun(int a[][N], int m) {
  int i, j;
  for (i = 0; i < N; i++) {
    for (j = i + 1; j < N; j++) {
      a[i][j] *= m;
    }
  }
  return 0;
}
int main() {
  int a[N][N], m, i, j;
  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");
  }
  return 0;
}


这个程序的功能是创建一个NxN的二维整数数组,将其填充随机值,在主函数中调用函数fun来将数组的右上三角元素乘以给定的m,然后打印结果数组。在函数fun中,我们使用了一个双重循环,其中i循环表示行数,j循环表示列数。我们只遍历右上三角形,例如当i为0时,j的初始值应该为1,以避免重复计算。在循环中,我们只针对右上三角元素,也就是i小于j的元素进行处理,乘以给定的m。


最后,我们使用两个for循环在主函数中打印原始的和修改后的两个数组。我们在每行中打印数组元素,这样可以使输出更容易阅读。



相关文章
程序设计进阶模拟试题2
程序设计进阶模拟试题2
|
Java
上机实验3-2 Java面向对象编程(二)
上机实验3-2 Java面向对象编程(二)
171 0
|
Java
上机实验3-1 Java面向对象编程(一)
上机实验3-1 Java面向对象编程(一)
122 0
|
Java
上机实验3-3 Java面向对象编程(三)
上机实验3-3 Java面向对象编程(三)
299 0
|
存储 缓存 自然语言处理
一些简单的编程练习题
每当成为入门CS课程(学生们学习编程语言的课程)的助教时,都困于提出好的练习题。Project Euler和类似的问题通常对初学者来说来难了,尤其是对于那些没有很强数学背景的同学。
525 0
一些简单的编程练习题
编程试题买花
编程试题买花
129 0
|
C语言 程序员
带你读《C语言程序设计习题解析与上机指导》之一:计算机程序设计实验的 一般步骤
本书首先介绍了计算机程序设计实验的一般方法以及在Visual C++ 2010下编写和调试C语言程序的具体步骤,然后对主教材各章后面的习题以及C语言程序设计课程学习中的疑难问题和常见问题进行了详细的解析,同时还汇总了各章的知识重点。在第三部分,精心设置了9个上机实验,每个实验项目都给出了实验目的和要求,并给出了编程示例和练习题目。读者可以通过由浅入深的实际训练,逐步熟悉编程环境,掌握程序调试方法,理解和掌握程序设计的思想、方法和技巧。
下一篇
无影云桌面