青少年编程知识记录 codecoming

C++小游戏——简单飞机大战(2)——代码与显示优化

0.前言在上一篇中,我们在C++控制台中简单实现了飞机大战了逻辑,但是代码比较长,显示也不是很好看,这篇文章中,我们对上一篇的代码进行优化下,把很多过程封装成函数形式。让程序看上去更加精简。一个合理化的游戏框架1.游戏框架框架参考:int main() { startup(); //数据初始化 while(1){  //游戏循环执行  show();  //显示画面 updateWithoutIn
作者:亿万年的星光 分类:趣味小程序 浏览:

如何判断回文数/回文串

所谓回文,就是从左往右读和从右往左读都是一样的,这样的数字或者字符称为回文数/回文字符。做题的时候经常能看到判断回文操作。判断回文的一般有两种,一种是数字类型,一种是字符类型。两种分别介绍一下。一、回文数字参考方法1:经过分离重组后的数字和原数字相等。int huiwen(int num) { int s=0; int num2=num; while(num){ s=s*10+num%10; num=num/10; }&nbs
作者:亿万年的星光 分类:C++知识 浏览:

【题解】日期排序

【题目描述】

有一些日期,日期格式为“MM/DD/YYYY”。编程将其按日期大小排列。

【输入描述】



【输出描述】

【样例输入】

15/12/1999  10/21/2003  10/22/2003  02/12/2004  11/30/2005  12/31/2005

【样例输出】

15/12/1999  10/21/2003  10/22/2003  02/12/2004  11/30/2005  12/31/2005
作者:亿万年的星光 分类:题解目录 浏览:

【题解】飞奔的马

【题目描述】

农场里的马,在草场开心地吃着牧草,直到天色晚了,牧马的人会将马依次按号牌大小,依次放入相应的位置。

但是这马总是打乱了顺序,于是牧马人都会想办法把这些马都排好:每次从最前面开始,然后与后面的号牌进行比较,每次将小的号牌的马换到前面。这牧马人整理马的顺序相当耗费体力,每次交换,消耗体力为两匹马槽位的距离*2。他想知道,他要花费多少体力才能完成任务。

【输入描述】

第一行是一个整数n(n<3000)代表马的个数



接下来一行,共n个数,代表马的编号

【输出描述】

一个数,表示花费的体力。

【样例输入】

6  2 3 6 5 8 4

【样例输出】 

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

C++自动关机小程序

/*   C++ 自动关机程序   实现原理:调用计算机内部的shutdown 命令        shutdown -s -t 0   //立即关机         shutdown -s -t 1800 //1800秒后关机         shutdown -a    //取消关机指令         shutdown -r    //重启        shutdown -l    //注销           */   //基础版   #include <cstdlib>  //需要引入这个头文件,来操作   #include <iostream>  using namespace std;  int main()  {      system("shutdown -s -t 1800");       return 0;  }





作者:亿万年的星光 分类:趣味小程序 浏览:

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
作者:亿万年的星光 分类:题解目录 浏览: