本人初学C语言,课后有这么一道题.请大神使用C语言帮按照如下题目编写程序,万分感谢!

2025-01-18 15:47:48
推荐回答(1个)
回答1:

#include 
int main()
{
    int t1,t2,turnorder;/*t1表示前一时间戳记、t2表示后一时间戳记、turnorder表示转向命令*/
    int x=0,y=0;//卡车初始位置坐标。
    int flag;//卡车转向标识 : 1表示向北,2表示向西,3表示向南,4表示向东。
    flag=1 ;
    t1=0;
    printf("请输入时间戳记及相应命令,并以回车键结束:\n");
    scanf("%d%d",&t2,&turnorder);     
    while(1)
    {
        switch(flag)
        {
        case 1:y+=10*(t2-t1);  
                flag=(turnorder==1)?2:4; t1=t2;break;
        case 2:x-=10*( t2-t1 );  
                flag=(turnorder==1)?3:1; t1=t2;break;
        case 3:y-=10*( t2-t1 );  
                flag=(turnorder==1)?4:2; t1=t2;break;
        case 4:x+=0*(t2-t1);  
                flag=(turnorder==1)?1:3; t1=t2;break;
        default:break;
        }
        if(turnorder==3) break;
        scanf("%d%d",&t2,&turnorder);
    }
    printf("卡车的最终位置坐标为:(%d,%d)\n",x,y);
    return 0;
}

已通过测试,请验证!