|
tt追着太阳走
我喜欢向日葵,它让我觉得生活温暖,明快,充满爱 我喜欢华丽的歌剧音乐剧,平静的生活要用些许的高贵填充 我喜欢认真地一丝不苟地生活,只有生活的有心人才能获得心灵的丰收 ——tt:) |
给同学写了一个vc6.0的C语言的控制台贪食蛇,做练习用的。没什么意思,又丑又没成就感。话说,用控制台写比用OpenGL写还麻烦。想当年我没几分钟就写完了,现在竟然写了一个半小时,水平大不如从前了,要好好加油才行。
http://files.cnblogs.com/PureMilk/SnakeWithC.rar
这几天有点自信心过度膨胀的状态,主要是写车牌识别写的手感太好了。不知道做完这个项目,是不是可以找一份不错的工作。忽然觉得工作也是没什么意思的事情,无非就是有钱拿。工作真的只是为了赚钱吗?我想我还是希望自己是个有用的人。可是这样就是个有用的人了吗?应该不是的吧。那,有用是开心的吗?我不知道。现在的我,还是很想赚钱的,恩。不知道等一切我想要的都要到了,我该做什么呢。也许再不会有什么可以让自己很有活力的事情,每天只要简单的,满足的就好了吧。
把源码贴上来吧。
2.使用链表
小菜C++生手,如有bug或可以改进的地方请批评指教

#include <cstdio>
int stack[1005]; //栈
int stack_len; //栈顶位置
int main()
{
int n;
while ( scanf( "%d", &n ), n != 0 )
{
int tmp;
int last;
while ( scanf( "%d", &tmp ) )
{
int max = 0;//初始化部分
int flag = 1;
stack_len = 0;
last = 1;
if ( tmp == 0 ) {putchar('\n'); flag = -1;break;}//如果是0结束此case
while ( last < tmp ) stack[stack_len++] = last++;//入栈
max = last;
for ( int i = 1; i < n; ++i )
{
scanf( "%d", &tmp );
if ( flag ) //前提是合理则判断,若已不合理只读如数据,不进行判断
{
if ( stack_len != 0 && stack[stack_len-1] == tmp ) //如果栈非空且下一个该出栈的数字与读入数字相同,则出栈
{
--stack_len;
last = tmp;
max>?=last;
}
else if ( tmp > last ) //如果读如的数字比已出栈的最大数字还大,则将读入数字之前的数字全部入栈,此数字作为出栈数字
{
for ( int i = max+1; i < tmp; ++i )
{
stack[stack_len++] = i;
}
max = last = tmp;
}
else //如果以上两个条件都不满足,则说明此数列不满足题意
{
flag = 0;
}
}
}
printf( "%s\n", (( flag == 1 )?"Yes":"No") );
}
}
return 0;
}