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

2021-09-02 11:51:23 字數 1494 閱讀 7410

題目

開發乙個座標計算工具, 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...