C语言上机模拟题.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言上机模拟题 一、改错题 1.改错题(18分) 【题目】:函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。 含有错误的程序如下: #include conio.h #include stdio.h #define M 5 int fun(int n,int xx[][]) { int i,j,sum; printf(\nThe %d x %d matrix:\n,M,M); for(i=0;iM;i++) { for(j=0;jM;j++) printf(%f,xx[i][j]); printf(\n); } for(i=0;in;i++) sum+=xx[i][i]+xx[i][n-i]; return(sum); } int main( ) {int aa[M][M]={ {1,2,3,4,5},{4,3,2,1,0}, {6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}}; clrscr( ); printf (\nThe sum of all elements on 2 diagnals is %d.,fun(M,aa)); return 0; } 【要求】 1).将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。 2).改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译处理命令,但不能增加其他语句,也不能删去整条语句。 3).改正后的源程序(文件名myf1.c)必须放在考试软盘的根目录下,供阅卷用,否则不予评分。 答案: 1.int fun(int n,int xx[ ][ ]) 改为 int fun(int n,int xx[ ][M]) 2.int i,j,sum; 改为 int i,j,sum=0; 3.printf(%f,xx[i][j]); 改为 printf(%d,xx[i][j]); 4.sum+=xx[i][i]+xx[i][n-i]; 改为 sum+=xx[i][i]+xx[i][n-i-1]; 2. 改错题(18分) 【题目】:函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。 例如,在调用fun函数之前给a输入字符串:ABCDEFGHIJK, 调用函数之后,字符数组b中的内容则为:ABC DEF GHI JK。 含有错误的程序如下: #include stdio.h void fun(char *p, char *b) { int i, k=0; while(*p) { i=1; while( i3 *p ) { b[k]=p; k++; p++; i++; } if(*p) { b[k++]= ; } } b[k]= \0; } int main() { char a[80],b[80]; printf(Enter a string: ); gets(a); printf(The original string: ); puts(a); fun(a,b); printf(\nThe string after insert space: ); puts(b); printf(\n\n); return 0; } 【要求】 1).将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。 2).改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译处理命令,但不能增加其他语句,也不能删去整条语句。 3).改正后的源程序(文件名myf1.c)必须放在考试软盘的根目录下,供阅卷用,否则不予评分。 答案: 1. while( i3 *p ) 改为 while( i=3 *p ) 2. b[k]=p; 改为 b[k]=*p; 3. b[k++]= ; 改为 b[k++]= ; 4. b[k]= \0; 改为 b[k]= \0 3.改错题(18分) 【题目】:N个有序整数列已放在一维数组中,下列给定程序中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,则返回其下标值,反之

您可能关注的文档

文档评论(0)

考试教学资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档