c语言2732判断对错题答案,C语言上机试题库.doc

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值