全国软件专业人才设计与开发大赛题目样例 ― c语言
全国软件专业人才设计与开发大赛题目样例―c语言
1.单选样例
lintk=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)没有区别答案:d
2.多选样基准
l如何让一个函数返回大量的数据?(a)使用公开的静态空间
(b)定义大量的形参
(c)让被调函数申请空间并返回该指针,主调函数用后负责释放该空间。(d)让主调函数
申请空间并传入该指针,被调函数用后负责释放空间。(e)让主调函数传入指向指针的指针。
答案:a,c,e
3.程序填空题样例
l如果只提供更多加减乘除的基本运算能力,你能够同时实现谋平方根吗?可以的!先随便猜猜一个根,用它试除目标数字,如果结果恰好等同于所猜猜的数,则问题化解。否则用结果与所猜猜的数字的平均值再回去试除?.假设等待开方的数字为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字形的排列,可以显示0-9的数字。我们可以给这7个发光管编号,以便区分它们:
0号管及3号管及1号管及2号管及6号管及4号管及5号管及
我们给出了一个用于模拟这个显示过程的程序,并提供了源代码。输入数字,可以在控制台示意这些数字的对应数码管显示的效果,亮的管显示为“@”,不亮的管显示为“.”。程序的主要用途是:决定哪个数字由哪些点亮的数码管组成。因为不能控制真的数码管,所以采用了一个字符缓冲区来模拟效果。
运转文件,可以看见最终的效果。
我们给出的源代码含有若干错误或缺陷(对照的效果),请考生予以指出并完善。
1.表示错误的原因、边线,并废止。
2.未完成的功能(按比率放大)需要选手独立完成。提交源代码和简要注释。
l参照与答疑:
本文附件:
3.提供更多了可以运转的exe程序
4.提供了包含若干错误或缺陷的源程序5.提供了全部源程序(不给考生)错误点:
1.输出exit无法退出程序。等号改成strcmp2.数码“1”表明的不能恰当,修正矩阵即可。3.弯曲的方向热蒙堡县了。改成7-i
5.编程题样例(本科)
我们看见屏幕上表明的汉字的字型存有两种表达方式:一种称作矢量方式,一种称作图形方式。其中的图形方式较为简单,其原理就是如同:铺地砖。有的铺为白,有的铺为黑,只要精心安排,就可以共同组成我们期望的图案,当然也可以就是汉字。瓷砖越多,新溪洲的图案效果越柔和,这就是图形的规模。
16点阵十分常用,是把一个汉字用16x16=256个像素点来描绘。
每个bit代表1个像素点,16图形的字模须要256个像素点信息,故须要32字节字节的排序与16图形像素的对应关系如下表中:第0字节第1字节
第2字节第3字节..............
第14字节第15字节
也就是说:每1行的16个点由2个字节提供。顺序是:从上到下,从左到右。编写c语言的软件
当我们须要记录一个汉字信息的时候,当然不是存储汉字的字型,而是存储它的编码。汉字可以存有多种编码的规则,其中gb2312的编码规则就是:一个汉字用两个字节则表示,前一个字节则表示区号,后一个则表示区中的偏转序号。
每个区有94个汉字。区号和序号的编码都是从0xa1开始(为了避免和西文冲突)已知某个汉字的gb2312编码,就可以计算出它在字模文件中所在的绝对位置。
我们得出了一个用作认知这个原理的程序,输出一个汉字(实际上获得的就是它的gb2312编码),就可以从字模文件(hzk16.dat)中念出字型信息。再设法抽出对应位的信息,把“瓷砖”砌至屏幕上。
程序的执行文件是完整的,可以动手测试它。
程序的源代码就是残缺不全的,其中最重要的向屏幕输入函数等候学生顺利完成。
1.请首先写出编码的大体思路(500字以内)
2.顺利完成编码(无法少于100行)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论