最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

c语言参考题目-编程大题

来源:动视网 责编:小OO 时间:2025-09-27 06:04:09
文档

c语言参考题目-编程大题

c语言参考题目---编程大题1.编程大题—数码管显示在电梯、家用电器中,随处可见数码管显示的应用。一般是7个发光管组成8字形的排列,可以显示0-9的数字。我们可以给这7个发光管编号,以便区分它们:我们给出了一个用于模拟这个显示过程的程序,并提供了源代码。输入数字,可以在控制台示意这些数字的对应数码管显示的效果,亮的管显示为“@”,不亮的管显示为“.”。程序的主要用途是:决定哪个数字由哪些点亮的数码管组成。因为不能控制真的数码管,所以采用了一个字符缓冲区来模拟效果。运行ShowDigit.exe
推荐度:
导读c语言参考题目---编程大题1.编程大题—数码管显示在电梯、家用电器中,随处可见数码管显示的应用。一般是7个发光管组成8字形的排列,可以显示0-9的数字。我们可以给这7个发光管编号,以便区分它们:我们给出了一个用于模拟这个显示过程的程序,并提供了源代码。输入数字,可以在控制台示意这些数字的对应数码管显示的效果,亮的管显示为“@”,不亮的管显示为“.”。程序的主要用途是:决定哪个数字由哪些点亮的数码管组成。因为不能控制真的数码管,所以采用了一个字符缓冲区来模拟效果。运行ShowDigit.exe
c语言参考题目---编程大题

1.编程大题—数码管显示

在电梯、家用电器中,随处可见数码管显示的应用。一般是7个发光管组成8字形的排列,可以显示0-9的数字。我们可以给这7个发光管编号,以便区分它们:

我们给出了一个用于模拟这个显示过程的程序,并提供了源代码。输入数字,可以在控制台示意这些数字的对应数码管显示的效果,亮的管显示为“@”, 不亮的管显示为“.”。

程序的主要用途是:决定哪个数字由哪些点亮的数码管组成。因为不能控制真的数码管,所以采用了一个字符缓冲区来模拟效果。

运行ShowDigit.exe文件,可以看到最终的效果。

我们给出的源代码含有若干错误或缺陷(对照ShowDigit.exe的效果),请考生予以指出并完善。

1.指出错误的原因、位置,并改正。

2.未完成的功能(按比率放大)需要选手完成。提交源代码和简要注释。

2.编程大题—点阵汉字

我们看到屏幕上显示的汉字的字型有两种表达方式:一种称为矢量方式,一种称为点阵方式。其中的点阵方式较为简单,其原理就是好比:铺地砖。有的铺为白色,有的铺为黑色,只要精心安排,就会组成我们希望的图案,当然也可以是汉字。

瓷砖越多,铺出的图案效果越细腻,这就是点阵的规模。

16点阵十分常用,是把一个汉字用16 x 16 = 256个像素点来描绘。

每个bit代表1个像素点,16点阵的字模需要256个像素点信息,故需32字节

字节的排列与16点阵像素的对应关系如下表:

  

  第0字节 第1字节

  第2字节 第3字节

  .......

  .......

  第14字节 第15字节

也就是说:每1行的16个点由2个字节提供。顺序是:从上到下,从左到右。

当我们需要记录一个汉字信息的时候,当然不是存储汉字的字型,而是存储它的编码。汉字可以有多种编码的规则,其中GB2312的编码规则是:一个汉字用两个字节表示,前一个字节表示区号,后一个表示区中的偏移序号。

每个区有94个汉字。区号和序号的编码都是从 0xA1开始(为了避免和西文冲突)

已知某个汉字的gb2312编码,就可以计算出它在字模文件中所在的绝对位置。

我们给出了一个用于理解这个原理的程序,输入一个汉字(实际上得到的是它的GB2312编码),就可以从字模文件(HZK16.DAT)中读出字型信息。再设法取出对应位的信息,把“瓷砖”铺到屏幕上。

程序的执行文件是完整的,可以动手测试它。

程序的源代码是残缺的,其中最重要的向屏幕输出函数等待考生完成。

3.编程大题—摩尔斯码

程序描述:

虽然摩尔斯发明了电报,但他缺乏相关的专门技术。他与艾尔菲德·维尔签定了一个协议,让他帮自己制造更加实用的设备。艾尔菲德·维尔构思了一个方案,通过点、划和中间的停顿,可以让每个字元和标点符号彼此地发送出去。他们达成一致,同意把这种标识不同符号的方案放到摩尔斯的专利中。这就是现在我们所熟知的美式摩尔斯电码,它被用来传送了世界上第一条电报。

国际摩尔斯码表示数字的方案是:

0:—————   1:·————   2:··———   3:···——   4:····—   5:·····   6:—····   7:——···   8:———··   9:————·

每个“划线”发送一个长音,“点”发送一个短音。如果再加入一些空白规则,可以进一步把数字组合代表某个汉字。

假设我们收到了长音、短音、停顿(空白)构成的电报信息,为了方便模拟,我们这里用一个文本文件a.txt记录了这些信息。观察这个文件会发现,它只由点、划、空格组成。

我们规定:每个数字发送一个空格,每组数字间空3个空格。

请编写程序,把一串数字编码为摩尔斯码,并写入到b.txt中,再读入a.txt文件,模拟把摩尔斯码还原为多个数字组的过程。

可以参看【原型】文件夹中的原型程序输出的效果。注意:程序应该通过控制台窗口来执行( windows开始菜单运行:cmd.exe )。

考试系统注意:

不同于本科组,考生文件夹中的所有内容都是开放的,不需要屏蔽。

4.编程大题—控制台菜单

程序描述:

菜单是程序中获得用户输入的有效手段。在控制台环境中菜单也能发挥重要作用。本程序的目的是要实现一个动态菜单,即:菜单的级次、内容不是固定的,而是定义在a.txt文件中。程序读入该文件,在内存中动态构建菜单项间的关系,然后运行该菜单。

考生可以参看【原型】中提供的可执行文件的效果来理解程序的要求。

注意:a.txt中的空白是Tab(制表符),不是空格。

5.编程大题—扑克牌发牌

程序描述:

一副纸牌有52张,4种花色,每种花色13张。我们能用一个整数m就表示出所有的52种情况,规则是:

  m / 13: =0: 红心,=1: 方块,=2: 梅花,=3: 黑桃

  m % 13:  =0:2,=1:3,=2:4 ....  =8:10,=9:J,=10:Q,=11: K,=12:A

比如:m = 15 就表示:方块4  m=38表示:梅花A

我们希望用程序模拟1副扑克牌随机抽取13张,发给某人的过程。

发牌后需要排序:规则是:先按花色,再按点数。花色的大小顺序是:梅花、方块、红心、黑桃。点数的顺序是:2、3、4、…. 10、J、Q、K、A。

然后,挑选出最大的连续牌型。规则是:连续张数多的大。张数相等的则花色大的大(此时与点数无关)。

可以参看【原型】文件夹中的原型程序输出的效果。注意:程序应该通过控制台窗口来执行( windows开始菜单运行:cmd.exe )。

考试系统注意:

不同于本科组,考生文件夹中的所有内容都是开放的,不需要屏蔽。

6.编程大题—计算24

程序描述:

许多人小的时候可能都玩过计算24的游戏。从一副扑克牌中任意取出4张,根据点数用加、减、乘、除计算出24。花色不计,点数:A、J、Q、K都算1,其它牌算本身的牌点。

用计算机搜索算法的解法有很多。一般是用穷举法罗列每一种情况。本程序打算用一种不同寻常的算法:随机地交换牌的位置,随机地产生运算符,看看是符合要求,大量重复这个过程,看看能否碰上运气。实验表明,当试验次数很大的时候,“运气”的概率是很高的。

请考生参看【原型】的效果,理解程序的目的。先是随机地抽取4张牌,然后用随机试探的方法求解。只要找到一个解就可以了。

需要考虑计算结果为分数的情况:( 3 + (3 / 7) ) * 7

完成TestResolve函数()。

文档

c语言参考题目-编程大题

c语言参考题目---编程大题1.编程大题—数码管显示在电梯、家用电器中,随处可见数码管显示的应用。一般是7个发光管组成8字形的排列,可以显示0-9的数字。我们可以给这7个发光管编号,以便区分它们:我们给出了一个用于模拟这个显示过程的程序,并提供了源代码。输入数字,可以在控制台示意这些数字的对应数码管显示的效果,亮的管显示为“@”,不亮的管显示为“.”。程序的主要用途是:决定哪个数字由哪些点亮的数码管组成。因为不能控制真的数码管,所以采用了一个字符缓冲区来模拟效果。运行ShowDigit.exe
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top