欢迎来到天天文库
浏览记录
ID:23499651
大小:74.68 KB
页数:6页
时间:2018-11-07
《全国软件专业人才设计与开发大赛题目样例—c语言》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、1. 单选样例l intk=x>y?(x>z?x:z):(y>z?y:z) 语句的目的是:(A) 求x,y,z最大值(B) 求x,y,z最小值(C) 求x,y,z中间值(D) 求x,y,z平均值 答案:A l 定义:charp[20]; 则,&p,p,&p[0]的区别是:(A) &p,&p[0]不能作为左值变量,而p可以。(B) 它们所表达的数值不同。(C) p在栈中,而p[0]在堆中(D) 没有
2、区别 答案:D 2. 多选样例l 如何让一个函数返回大量的数据?(A) 使用公开的静态空间(B) 定义大量的形参(C) 让被调函数申请空间并返回该指针,主调函数用后负责释放该空间。(D) 让主调函数申请空间并传入该指针,被调函数用后负责释放空间。(E) 让主调函数传入指向指针的指针。 答案:A,C,E 3. 程序填空题样例l 如果只提供加减乘除的基本运算能力,你能实现求平方根吗?可以的!先随便猜一个根,用它试除目标数字,如果结果
3、恰好等于所猜的数,则问题解决。否则用结果与所猜的数字的平均值再去试除….假设待开方的数字为doublea; doublet=a/2; doublet2; for(;;){ t2=a/t; if(fabs(t-t2)<0.001)break; t=_________; } 答案: (t+t2)/2注意:(t+t2)/2.0, (t2+t)*0.5都算对的。 4. 编程题样例(高职)在电梯、家用电器中,随处可见数码管显示的应用。一般是7个发光管组成8字形
4、的排列,可以显示0-9的数字。我们可以给这7个发光管编号,以便区分它们:0号管3号管1号管2号管6号管4号管5号管我们给出了一个用于模拟这个显示过程的程序,并提供了源代码。输入数字,可以在控制台示意这些数字的对应数码管显示的效果,亮的管显示为“@”,不亮的管显示为“.”。程序的主要用途是:决定哪个数字由哪些点亮的数码管组成。因为不能控制真的数码管,所以采用了一个字符缓冲区来模拟效果。 运行ShowDigit.exe文件,可以看到最终的效果。我们给出的源代码含有若干错误或缺陷(对照ShowDigit.exe的效
5、果),请考生予以指出并完善。1. 指出错误的原因、位置,并改正。2. 未完成的功能(按比率放大)需要选手独立完成。提交源代码和简要注释。 l 参考与解答:本文附件:3. 提供了可运行的exe程序4. 提供了包含若干错误或缺陷的源程序5. 提供了全部源程序(不给考生) 错误点:1. 输入exit无法退出程序。等号改为strcmp2. 数码“1”显示的不正确,修改矩阵即可。3. 倾斜的方向弄反了。改为7-i 5.
6、 编程题样例(本科)我们看到屏幕上显示的汉字的字型有两种表达方式:一种称为矢量方式,一种称为点阵方式。其中的点阵方式较为简单,其原理就是好比:铺地砖。有的铺为白色,有的铺为黑色,只要精心安排,就会组成我们希望的图案,当然也可以是汉字。瓷砖越多,铺出的图案效果越细腻,这就是点阵的规模。16点阵十分常用,是把一个汉字用16x16=256个像素点来描绘。 每个bit代表1个像素点,16点阵的字模需要256个像素点信息,故需32字节字节的排列与16点阵像素的对应关系如下表: 第0字节第1字节 第2字节第3字节 .
7、...... ....... 第14字节第15字节 也就是说:每1行的16个点由2个字节提供。顺序是:从上到下,从左到右。 当我们需要记录一个汉字信息的时候,当然不是存储汉字的字型,而是存储它的编码。汉字可以有多种编码的规则,其中GB2312的编码规则是:一个汉字用两个字节表示,前一个字节表示区号,后一个表示区中的偏移序号。每个区有94个汉字。区号和序号的编码都是从0xA1开始(为了避免和西文冲突)已知某个汉字的gb2312编码,就可以计算出它在字模文件中所在的绝对位置。 我们给出了一个用于理解这个原理的程序
8、,输入一个汉字(实际上得到的是它的GB2312编码),就可以从字模文件(HZK16.DAT)中读出字型信息。再设法取出对应位的信息,把“瓷砖”铺到屏幕上。 程序的执行文件是完整的,可以动手测试它。程序的源代码是残缺的,其中最重要的向屏幕输出函数等待考生完成。 1. 请首先写出编码的大体思路(500字以内)2. 完成编码(不能超过100行)
此文档下载收益归作者所有