題目
開發乙個座標計算工具, a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從(0,0)點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。
輸入:合法座標為a(或者d或者w或者s) + 數字(兩位以內)
座標之間以;分隔。
非法座標點需要進行丟棄。如aa10; a1a;
; yad; 等。
下面是乙個簡單的例子 如:
a10;s20;w10;d30;x;a1a;b10a11;;a10;
處理過程:
起點(0,0)
結果 (10, -10)
題目類別: 字串
難度: 中級
執行時間限制: 10sec
記憶體限制: 128mbyte
階段: 入職前練習
輸入:
一行字串
輸出:
最終座標,以,分隔
樣例輸入:
a10;s20;w10;d30;x;a1a;b10a11;;a10;
樣例輸出:
10,-10
**
/*---------------------------------------
* 日期:2015-06-29
* 題目:座標移動
-----------------------------------------*/
#include
#include
#include
using
namespace
std;
void pointmove(string str,int &x,int &y)//if
vector
vec;
int start = 0,end = 0;
// 把兩個分號之間的內容提取出來
while(end != -1)//while
// 座標移動
int count = vec.size();
for(int i = 0;i < count;++i)//if
if(word[0] == 'a' || word[0] == 'd' || word[0] == 'w' || word[0] == 's')//if
num = num * 10 + word[j] - '0';
}//for
// 移動距離非法
if(!flag)//if
if(word[0] == 'a')//if
else
if(word[0] == 'd')//else
else
if(word[0] == 'w')//else
else
if(word[0] == 's')//else
}//if
}//for
}int main()
華為機試練習題 9 座標移動
題目 開發乙個座標計算工具,a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從 0,0 點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。輸入 合法座標為a 或者d或者w或者s 數字 兩位以內 座標之間以 分隔。非法座標點需要進行丟棄。如aa10 a1a y...
華為機試練習題1
題目描述 有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以...
華為機試題 16 座標移動
題目描述 開發乙個座標計算工具,a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從 0,0 點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。輸入 下面是乙個簡單的例子 如 a10 s20 w10 d30 x a1a b10a11 a10 處理過程 起點 0...