題目描述
開發乙個座標計算工具, 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)
輸入描述:
一行字串
輸出描述:
最終座標,以,分隔
示例1輸入
複製a10;s20;w10;d30;x;a1a;b10a11;;a10;
輸出複製
10,-10
codeblocks測試**
#include
#include
#include
using
namespace std;
intmain()
else
if(tmpstr!="")
} v.
push_back
(tmpstr)
; vector
::iterator it;
for(it=v.
begin()
;it!=v.
end();
)else
if(tmpit[0]
=='d'
)else
if(tmpit[0]
=='w'
)else
if(tmpit[0]
=='s'
)else it++;}
else
if(tmpit.
size()
==3&&tmpit[1]
>=
'0'&&tmpit[1]
<=
'9'&&tmpit[2]
>=
'0'&&tmpit[2]
<=
'9')
//針對3位字元的單詞的處理情況
else
if(tmpit[0]
=='d'
)else
if(tmpit[0]
=='w'
)else
if(tmpit[0]
=='s'
)else it++;}
else
//其它單詞均是無效單詞,不處理
} cout<","
}
華為機試題目一(牛客網)
1 輸入用的fgets,最開始我用gets報段錯誤 2 strrchr函式用於定位需要的字元最後一次出現的位置 多積累字串函式 3 由於移動問題導致資料 2或者 1,這個我沒有仔細去研究,純粹看輸出直接換算的,有時間可以認真研究一下這個移動步位問題。這道題演算法很簡單,但讓我浪費了一些時間的是輸入輸...
牛客網華為機試題後感
牛客網華為機試題後感 2 14 def switch str input print str 1 switch 解題思路 5種方法的比較 簡單的步長為 1,即字串的翻轉 1 2.使用list函式把字串放到列表裡 a.交換前後字母的位置 b.遞迴的方式,每次輸出乙個字元 d.使用for迴圈,從左至右輸...
牛客 華為機試(1)
題目一 正整數a和正整數b 的最小公倍數是指 能被a和b整除的最小的正整數值,設計乙個演算法,求輸入a和b的最小公倍數。方法一 讓a與b中較大的數乘以1,2,如果可以整除較小的數,則輸出。include using namespace std intmain for int i 1 i b i re...