C语言上机试题库.docVIP

  • 14
  • 0
  • 约 47页
  • 2017-01-06 发布于贵州
  • 举报
C语言上机试题库C语言上机试题库

C上机试题库 一、2002年4月 /*程序修改题1 给定程序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]); fprintf(wf, \n); } fclose(rf) ; fclose(wf) ; } /*程序修改题2 给定程序MODI1.C中函数fun的功能是: 将从键盘上输入的每个 单词的第一个字母转换为大写字母, 输入时各单词必须用空格隔开, 用.结束输入。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动 main 函数, 不得增行或删行,也不得更改 程序的结构! ****老王注:本类有输出结果的程序修改题,在评分时先看结果,如果 **** 结果正确,则直接给分;结果不正确或无结果,再一个错 **** 一个错评分。此法并不适用所有类似题。 */ #include int fun(char *c,int status) { /***********found**********/ if (*c== ) return 1; //if (c== ) return 1; else { if(status *c = z *c = a) /*********

文档评论(0)

1亿VIP精品文档

相关文档