華為機試題 16 座標移動

2021-07-14 17:09:03 字數 1447 閱讀 6838

題目描述

開發乙個座標計算工具, a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從(0,0)點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。

輸入:

下面是乙個簡單的例子 如:

a10;s20;w10;d30;x;a1a;b10a11;;a10;

處理過程:

起點(0,0)

結果 (10, -10)

輸入描述:

一行字串

輸出描述:

最終座標,以,分隔

輸入例子:

a10;s20;w10;d30;x;a1a;b10a11;;a10;

輸出例子:

10,-10

string轉int

std::string str = "123";

int n = atoi(str.c_str());

int轉string

int n = 123;

std::stringstream ss;

std::string str;

ss<>str;

**:

#include

#include

#include

#include

using

namespace

std;

int main()

//debug 檢視input中存放的內容

//for (auto i : input)

// cout << i << endl;

int x = 0, y = 0;

//處理非法輸入

int opt = 0;

for (auto i : input)

else

continue;

}//a10

else

if (i.size() == 3)

else

continue;

}else

continue;

switch (i[0])

}//debug 檢視每一步的移動結果

//cout << x << "," << y << endl;

}cout

<< x << ","

<< y << endl;

input.clear();

}return

0;}

華為機試練習題 9 座標移動

題目 開發乙個座標計算工具,a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從 0,0 點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。輸入 合法座標為a 或者d或者w或者s 數字 兩位以內 座標之間以 分隔。非法座標點需要進行丟棄。如aa10 a1a y...

華為機試練習題 9 座標移動

題目 開發乙個座標計算工具,a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從 0,0 點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。輸入 合法座標為a 或者d或者w或者s 數字 兩位以內 座標之間以 分隔。非法座標點需要進行丟棄。如aa10 a1a y...

HDU 1033 座標移動 模擬

題意是說有一點從 300,410 的位置出發,向右移動到 310,410 後開始轉向,a 表示向順時針轉,v 表示向逆時針轉,每次轉向後沿當前方向前進 10 個單位,輸出其座標,再補充一點格式上的東西即可。如果當前要向順時針轉,那麼轉過之後的方向依然無法確定其絕對的上下左右,每次轉向後的方向還與轉向...