![]() ![]() |
|
C语言2004最新模拟上机试题 | |
作者:佚名 文章来源:不详 点击数 更新时间:2007/12/21 18:20:02 文章录入:杜斌 责任编辑:杜斌 | |
|
|
给定程序modi1.c中函数fun的功能是: 先从键盘上输入一个 3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。 请改正函数 fun 中的错误或在横线处填上适当的内容并把横线删 除,使它能得出正确的结果。 注意: 不要改动 main 函数,不得增行或删行,也不得更改程序 的结构! */ #include int fun() { int a[3][3],sum; int i,j; /*********found**********/ sum=0; //______; for (i=0; i < 3; i++) { for (j=0; j < 3; j++) /*********found**********/ scanf('%d',&a[ i ][ j ]); //scanf('%d',a[ i ][ j ]); } for (i=0; i < 3; i++) sum=sum+a[ i ][ i ]; printf('sum=%d/n',sum); } main() { fun(); } /*编程题 编写程序, 实现矩阵(3行3列)的转置(即行列互换) 例如, 输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 注意: 部分源程序在文件prog1.c中。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun 的花括号中填入你编写的若干语句。 */ #include #include int fun(int array[3][3]) {// int i,j,t; for(i=0; i < 3; i++) for(j=0; j < i; j++) { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } // } main() { int i,j; int array[3][3]={{100,200,300}, {400,500,600}, {700,800,900}}; clrscr() ; for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf('%7d',array[i][j]); printf('/n'); } fun(array); printf('converted array:/n'); for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf('%7d',array[i][j]); printf('/n'); } nono(); } nono() { /* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */ int i,j, array[3][3]; file *rf, *wf ; rf = fopen('b0103.in', 'r') ; wf = fopen('b0103.out', 'w') ; for (i=0; i < 3; i++) for (j=0; j < 3; j++) fscanf(rf, '%d', &array[i][j]); fun(array); for (i=0; i < 3; i++) { for (j=0; j < 3; j++) fprintf(wf, '%7d', array[i][j]); |
|
![]() ![]() |