gpt4 book ai didi

使用 wasd 键更改 x 和 y 值的 C 程序

转载 作者:太空宇宙 更新时间:2023-11-04 00:00:24 25 4
gpt4 key购买 nike

我想用 C 语言编写一个简单的程序,允许用户更改 x 和 y 坐标的值。 w表示y++,s表示y--,a表示x--,d表示x++。我已经创建的代码是这样的:

#include <stdio.h>

int main()
{
int x=0,y=0;
char choice;

do
{
printf("Your position x=%i y=%i\n",x,y);
scanf("%c",&choice);
if(choice=='w'){y++;}
else if(choice=='s'){y--;}
else if(choice=='a'){x--;}
else if(choice=='d'){x++;}
else if(choice=='q'){printf("Quit\n");}
else {printf("Wrong\n");}
}while(choice!='q');

return 0;
}

不幸的是,如果我执行程序,例如调用'w',我得到输出:

Your position x=0 y=0
w
Your position x=0 y=1
Wrong
Your position x=0 y=1

为什么程序会这样运行?

最佳答案

 #include <stdio.h>

int main()
{
int x=0,y=0;
char choice;
while(scanf("%c",&choice)&& choice!='q')
{

if(choice=='w')
{
y++;
printf("Your position x=%i y=%i\n",x,y);

}
else if(choice=='s')
{
y--;
printf("Your position x=%i y=%i\n",x,y);

}
else if(choice=='a')
{
x--;
printf("Your position x=%i y=%i\n",x,y);

}
else if(choice=='d')
{
x++;
printf("Your position x=%i y=%i\n",x,y);

}
else if(choice=='q')
{
printf("Quit\n");
printf("Your position x=%i y=%i\n",x,y);
}
else
{
printf("Wrong\n");
printf("Your position x=%i y=%i\n",x,y);

}
scanf("%c",&choice);
}


return 0;
}

关于使用 wasd 键更改 x 和 y 值的 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47105957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com