程序设计进阶模拟试题

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

题目描述

程序定义了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循环在主函数中打印原始的和修改后的两个数组。我们在每行中打印数组元素,这样可以使输出更容易阅读。



目录
相关文章
|
8天前
|
XML 存储 前端开发
2022最新前端经典面试试题
2022最新前端经典面试试题
|
9月前
|
存储
程序设计进阶模拟试题2
程序设计进阶模拟试题2
57 0
|
9月前
|
C语言
[课后习题]C Primer Plus【第六版】编程练习 第二章习题参考答案
[课后习题]C Primer Plus【第六版】编程练习 第二章习题参考答案
|
9月前
|
存储 算法 网络协议
程序设计进阶模拟考试选择判断
程序设计进阶模拟考试选择判断
98 0
程序设计进阶模拟考试选择判断
|
9月前
|
存储 算法 C语言
[数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(课后习题+答案解析)
[数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(课后习题+答案解析)
|
10月前
|
Java
上机实验3-1 Java面向对象编程(一)
上机实验3-1 Java面向对象编程(一)
97 0
|
10月前
|
Java
上机实验3-3 Java面向对象编程(三)
上机实验3-3 Java面向对象编程(三)
257 0
|
10月前
|
Java
上机实验3-2 Java面向对象编程(二)
上机实验3-2 Java面向对象编程(二)
145 0
|
存储 算法 搜索推荐
初阶 数据结构与算法——经典 八大排序算法||初步学习至熟练掌握(附动图演示,初学者也能看懂)
重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
243 0
初阶 数据结构与算法——经典 八大排序算法||初步学习至熟练掌握(附动图演示,初学者也能看懂)
|
存储 算法 数据安全/隐私保护
【算法笔记题解】《算法笔记知识点记录》第三章——入门模拟1——简单模拟(1)
【算法笔记题解】《算法笔记知识点记录》第三章——入门模拟1——简单模拟(1)

热门文章

最新文章