二级C语言机试-67_第1页
二级C语言机试-67_第2页
二级C语言机试-67_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二级C语言机试-67(总分:100.00,做题时间:90分钟)一、填空题(总题数:1,分数:33.00)1. 请补充函数fun(),该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字, 是则返回"yes! ”,否则返回“ no!”。注意:部分源程序给岀如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句 试题程序:#include < stdio . h >#include < conlo . h >char *fun(int n)int g ,s,b;g=n%IO;s=n/10%10;

2、b=【1】;if(g+b)=s)return 【2】;elsereturn 【3】;main()int num=0 ;clrscr() ;printf("*lnput data*/n");scanf("%d" ,&num);printf("/n/n/n") ;printf("*The result*/n");printf("/n/n/n%s" ,fun(num);(分数:33.00 )填空项 1: (正确答案:1 n/100%10 2 "yes!" 3 "n

3、o!/)解析:解析填空1:由程序可以知道,变量g保存了整数的个位数,变量s保存了整数的十位数,所以变量b应该保存整数的百位数。将整数除以100再对10取余,则得到这个整数的百位数。填空2 :当个位数字和百位数字之和等于十位数字时,则返回 "yes!"。填空3:当个位数字和百位数字之和不等于十位数 字时,则返回"no!"。二、改错题(总题数:1,分数:33.00)2. 下列给定的程序中,函数fun()的功能是:用选择法对数组中的n个元素按从大到小的顺序进行排序。请改正程序中的错误,使它能得到正确结果。注意:不要改动 main函数,不得增行或删行,也不得更改

4、程序的结构。试题程序:#include <stdio . h>#define N 20void fun(int a , int n)int i , j ,t ,p;*found*for(j=0 ; j < n-1 ; j+) p=j ;for(i=j ; i < n; i+) if(ai) > ap) p=i ;t=ap ;ap=ai;*found*ap=t ;main()int aN=11, 32, -5, 2, 14, i, m=5;printf( “排序前的数据:” );for(i=0 ; i< m; i+)printf("%d",

5、 ai);printf("/n")5fun(a , m);printf( “排序后的顺序:” );for(i=0 ; i< m; i+)printf("%d", ai);printf("/n")5(分数: 33.00 )填空项 1: (正确答案: 错误:for(j=0;j < n-1;j+);正确:for(j=0;j< n-1;j+)(2) 错误: ap=t 正确: aj=t ;)解析:解析错误1:根据C语言语法,for循环中循环条件后不加分号,除非做空操作。错误2:将两数进行交换的常用语句,借助第三个变量。三、编程

6、题 (总题数: 1,分数: 34.00)3. 下列程序定义了 NXN的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是求出数组周边元素的平方和并作为函数值返回给主函数中的s。例如:若a数组中的值为a=0 1 2 7 91 11 21 5 52 21 6 11 19 7 9 10 25 4 1 4 1 则返回主程序后 s 的值应为 310。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序:#include < stdio h>#include < conio . h> #

7、include < stdlib . h > #define N 5int fun (int wN) main()int aNN=0,1,2,7,9,1,11,21,5,5,2, 21,6,11,1,9,7,9,10,2,5,4,1,4,1;int i ,j ;int s ;clrscr() ;printf("*The array*+*/n");for (i=0;i < N; i+)for(j=0 ;j < N; i+)printf("%4d",aij);printf("/n") ;s=fun(a) ; printf("*THE RESULT*/n");printf("The sum is:%d/n",s) ;分数: 34.00 ) 正确答案: (int fun(int w)N)int i ,j ,k=0;int s=0 ;for(i=0 ;i < N; i+)for(j=0 ; j < N; j+)if(i=O|i=N-1|j=O|j=N-1)/*只要下标中有一个为 0或N-1,则它一定是周边元素*/s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论