实验四教案.doc

实验四教案

第课 教学内容:处理类算法 教学目的:掌握处理类算法的考题 教学内容: 一、处理类算法的考题二、课堂练习 第一套 1、程序填空题 #include stdio.h #define N 4 void fun(int (*a)[N], int *b) { int i,j; for(i=0; iN; i++) /**********found**********/ { b[i]= __1__; for(j=1; jN; j++) /**********found**********/ if(b[i] __2__ a[j][i]) b[i]=a[j][i]; } } main() { int x[N][N]={ {12,5,8,7},{6,1,9,3},{1,2,3,4},{2,8,4,3} },y[N],i,j; printf(\nThe matrix :\n); for(i=0;iN; i++) { for(j=0;jN; j++) printf(%4d,x[i][j]); printf(\n); } /**********found**********/ fun(__3__); printf(\nThe result is:); for(i=0; iN; i++) printf(%3d,y[i]); printf(\n); } 2、程序改错题 给定程序MODI1.C中函数fun的功能是: 先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。 请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include stdio.h int fun() { int a[3][3],sum; int i,j; /*********found**********/ ______; for (i=0;i3;i++) { for (j=0;j3;j++) /*********found**********/ scanf(%d,a[i][j]); } for (i=0;i3;i++) sum=sum+a[i][i]; printf(Sum=%d\n,sum); } main() { fun(); } 3、程序设计题 程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数 fun(int a[][N], int n),函数的功能是:使数组左下三角元素中的值乘以n 。例如:若n的值为3,a 数组中的值为 | 1 9 7 |则返回主程序后a数组中的值应为| 3 9 7 | | 2 3 8 | | 6 9 8 | | 4 5 6 | | 12 15 18 | 注意: 部分源程序存在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include stdio.h #include stdlib.h #define N 5 int fun ( int a[][N], int n ) { } main ( ) { int a[N][N], n, i, j; printf(***** The array *****\n); for ( i =0; iN; i++ ) { for ( j =0; jN; j++ ) { a[i][j] = rand()%10; printf( %4d, a[i][j] ); } printf(\n); } do n = rand()%10 ; while ( n =3 ); printf(n = %4d\n,n); fun ( a, n ); printf (***** THE RESULT *****\n); for ( i =0; iN; i++ ) { for ( j =0; jN; j++ ) printf( %4d, a[i][j] ); printf(\n); } } 第二套 1、程序填空题 给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵: , 交换后为:。 请在程序的下划线处填入正确的内容并把下划线

文档评论(0)

1亿VIP精品文档

相关文档