青少年编程知识记录 codecoming

C++小游戏—简单飞机大战(1)

前面文章简单实现了弹球操作,这篇文章我们介绍一下如何实现简单的飞机大战操作。这篇文章我们要实现的效果如下:第一步:整体思路在某个点画出飞机的形状获取用户按下哪个按键根据按键移动飞机的位置按空格键发射子弹子弹击中目标,目标消失1.在任何一个点画出一个飞机的形状我们借鉴上次课中的弹球小游戏用来做出一个飞机的形状。参考下面代码:void showBall(int x,int y) { for(int i=0; i<x; i
作者:亿万年的星光 分类:趣味小程序 浏览:

【C++图形化编程】EasyX实现弹跳小球

前面的文章实现了C++控制台显示一个弹跳的小球,这篇文章使用EasyX实现一个带有界面的弹跳小球的效果。首位,我们需要准备好EasyX。然后让EasyX画一个小的圆。然后我们使用前面学过的判断边界的函数,然后套上循环就可以简单执行了。参考代码:#include <graphics.h> // 引用图形库头文件 #include<cstdio> #include<windows.h> int x=10,y=10;//&nbs
作者:亿万年的星光 分类:趣味小程序 浏览:

【题解】密码截获

【题目描述】

Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码 进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况 (abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的 有效密码串吗?

【输入描述】

测试数据有若干行字符串,包括字母,数字,符号。(字母区分大小写)

【输出描述】

与输入相对应每一行输出一个整数,代表最长有效密码串的长度。

【样例输入】

ABBA  12ABBA  A  ABAKK  51233214  abaaab

【样例输出】

4  4  1  3  6  5
作者:亿万年的星光 分类:题解目录 浏览:

【题解】排队买票

【题目描述】

有M个小孩到公园玩,门票是1元。其中N个小孩带的钱为1元,K个小孩带的钱为2元。售票员没有零钱,问这些小孩共有多少种排队方法,使得售票员总能找得开零钱。注意:两个拿一元零钱的小孩,他们的位置互换,也算是一种新的排法。(M<=10)

【输入描述】

输入一行,M,N,K(其中M=N+K,M<=10).

【输出描述】

输出一行,总的排队方案。

【样例输入】

4 2 2

【样例输出】

8
作者:亿万年的星光 分类:题解目录 浏览:

【题解】马拦过河卒

【题目描述】

棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。

棋盘用坐标表示,A点(0, 0)、B点(n, m)(n, m为不超过15的整数),同样马的位置坐标是需要给出的。现在要求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。

【输入描述】

一行四个数据,分别表示B点坐标和马的坐标。(保证所有的数据有解)

【输出描述】

一个数据,表示所有的路径条数。

【样例输入】

6 6 3 3

【样例输出】

6
作者:亿万年的星光 分类:题解目录 浏览:

C++小游戏—弹跳小球

首先,要注意屏幕直角坐标系的问题,不然的话,后面移动过程中一定会出错。然后,利用printf函数在屏幕坐标(x,y)处显示一个静止的小球字符‘O’,注意屏幕坐标系的原点在左上方,参考代码#include<cstdio> int main(){ int x=10; int y=10; for(int i=0;i<x;i++) printf("\n"); for(int j=0;j<
作者:亿万年的星光 分类:趣味小程序 浏览:

【题解】均分蛋糕

【题目描述】



小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。

  请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。

【输入描述】

输入的第一行包含了两个整数n, k,意义如上所述。

  第二行包含n个正整数,依次表示a1, a2, …, an。

【输出描述】

 输出一个整数,表示有多少个朋友分到了蛋糕。

【样例输入】

6 9  2 6 5 6 3 5

【样例输出】

3

【样例说明】

第一个朋友分到了前3块蛋糕,第二个朋友分到了第4、5块蛋糕,第三个朋友分到了最后一块蛋糕。

【数据范围】

对于所有测评用例,1<=n<=1000, 1<=k<=10000, 1<=ai<=1000。

作者:亿万年的星光 分类:题解目录 浏览:

【题解】01串

【题目描述】

Fans是个ACM程序设计迷。有时侯,他表现出很强烈的逆反心理,你往东,他往西,你往南,他偏往北。这一次,不知道又是谁惹着他了,好端端的一个个01串,到了他的手里,都变成10串了。请你编个程序来模仿他的行为,将01串(长度≤200),全变成10串吧。

【输入描述】

0110100100100 1000000010000000000

【输出描述】

1001011011011 0111111101111111111

【样例输入】

0110100100100  1000000010000000000

【样例输出】

1001011011011  0111111101111111111
作者:亿万年的星光 分类:题解目录 浏览:

【C++图形化编程】播放背景音乐

再做小游戏的时候有的时候需要背景音乐,这一点EasyX也可以实现。需要的头文件#include <mmsystem.h>  //多媒体设备接口 #pragma comment(lib,"winmm.lib") //加载静态库调用函数mciSendString(); mciSendStringW(      LPCWSTR lpstrCommand,/
作者:亿万年的星光 分类:趣味小程序 浏览:

【题解】车辆管理

【题目描述】

交通管理局长氓氓现在需要一个管理汽车的系统,每一辆汽车都有许多信息需要去记录。 首先,每一辆汽车都有一个独一无二的车牌号 S,车牌号由 7 个字符组成。 然后,对于每一辆车要记录它的排量 V 和载重 W,是两个不大于 100 的正整数。 接着,记录车主人的信息,有两种方式(每一辆车只选一种):记录车主的名字(不超过 20 位的字符串),或者记 录车主的家庭电话号码(8 位数字,无前导零)。 最后,按照记录的顺序,每一辆车有一个唯一的编号 id,从 1 开始。 在输入所有车的信息之后,会有多次询问。 每一次询问为以下 3 种中的一种: 

1、查询车牌。读入车的编号,查询车牌号并输出。 

2、查询车主信息。读入车牌号,查询车主人的信息并输出。如果是名字则输出名字,否则输出电话号码。 

3、查询排量与载重之比(V/W)大于等于某一个正整数 k 的车有多少辆。读入 k,输出有多少辆。 现在这个任务交给你来完成。

【输入描述】

第 1 行:一个整数 n(1<=n<=100),表示汽车的总数。

第 2~n+1 行:每一行格式如下: S V W typ name/phone 其中 S 表示车牌号,V、W 表示排量和载重,typ=0 或 1,其中 typ=0 表示记录的车主信息是名字,typ=1 表示记 录的车主信息是电话号码,最后输入名字或者电话号码。 第 n+2 行:一个整数 Q(1<=Q<=100),表示询问的个数。 

第 n+3~n+Q+2 行: 每行第一个数字 op 表示询问的种类。 op=1 时,接下来读入车的编号 id。 op=2 时,接下来读入车牌号 S。 op=3 时,接下来读入一个正整数 k。

【输出描述】

对于每一个询问输出一行。 op=1 时,输出车牌号。 op=2 时,输出车主人的信息。 op=3 时,输出一个数表示有多少辆车的排量与载重之比大于 k。

【样例输入】

5  NH12345 3 1 0 OIer  BJ54321 5 2 1 87654321  GD18323 2 3 0 Dreamer  GD22121 4 3 0 ACer  NH99999 10 3 1 12345678  5  1 3  2 GD22121  3 3  1 5  2 BJ54321

【样例输出】

GD18323  ACer  2  NH99999  87654321

【数据范围】

作者:亿万年的星光 分类:题解目录 浏览: