失败原因:
1.30分钟内写完,没有完全理解要求,误以为W是每次走3格
2.傻逼呵呵的传了个参数t进去,其实是+1, +3 我写成了+t, +3t
3.使用了换行,其实有问题,应该是在同一行覆盖打印,使用 \r 符号
4.现场写的时候好不容易想到了sleep函数,这点还可以,算是唯一的加分点,当然也很弱
修改的代码如下:
#include<stdio.h>
#include<Windows.h>
bool tagW = true, tagX = false;
int flag = 0;
int w = 0, x = 22;
void fun()
{
if(tagW)
{
w++;
if(w > 22)
{
w = 21;
tagW = false;
}
}
else
{
w--;
if(w < 0)
{
w = 1;
tagW = true;
}
}
flag++;
if(flag >= 3)
{
flag = 0;
if(!tagX)
{
x--;
if(x < 0)
{
x = 1;
tagX = true;
}
}
else
{
x++;
if(x > 22)
{
x = 21;
tagX = false;
}
}
}
}
int main()
{
int t = 0;
while(1)
{
t++;
if(t >= 100) break;
fun();
printf("\r");
for(int i =0;i<=22;i++)
{
if(w == i) printf("W");
else if(x == i) printf("X");
else printf("_");
}
Sleep(50);
}
return 0;
}
总结:其实是一道很简单的题目,当时写的时候有点急了,有点太过于自信,没考虑全面。
之前笔试没过,也有点可惜。虽然自己是有失误...以此为鉴