座標移動 華為機試 C C

2021-08-26 15:27:16 字數 1614 閱讀 4118

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

輸入:合法座標為a(或者d或者w或者s) + 數字(兩位以內)

座標之間以;分隔。

非法座標點需要進行丟棄。如aa10;  a1a;  $%$;  yad; 等。

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

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

處理過程:

起點(0,0)

+   a10   =  (-10,0)

+   s20   =  (-10,-20)

+   w10  =  (-10,-10)

+   d30  =  (20,-10)

+   x    =  無效

+   a1a   =  無效

+   b10a11   =  無效

+  乙個空 不影響

+   a10  =  (10,-10)

結果 (10, -10)

一行字串

最終座標,以,分隔

示例1

a10;s20;w10;d30;x;a1a;b10a11;;a10;
10,-10
//第十七題 座標移動

#include #include #include #includeusing namespace std;

int main()

tmove.push_back(temp);

instr.erase(0, fposition + 1);

} int imax = tmove.size();

for (int i = 0; i < imax; i++)

else

}iposition1 -= inum;

}break;

case 'd':

else

}iposition1 += inum;

}break;

case 's':

else

}iposition2 -= inum;

}break;

case 'w':

else

}iposition2 += inum;

}break;

default:

break;

}} cout << iposition1 << "," << iposition2 << endl;

} return 0;

}

#include #include #include using namespace std;

int main()

else

}if (invalid == 0)

case 'd':

case 'w':

case 's':}}

}} cout << point.first << "," << point.second << endl;

} return 0;

}

測試的時候本人寫的**一測試時間5毫秒。**二7毫秒

華為機試(移動座標)

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

表示數字 華為機試 C C

將乙個字元中所有出現的數字前後加上符號 其他字元保持不變 public static string marknum string pinstr 輸入乙個字串 字元中所有出現的數字前後加上符號 其他字元保持不變 示例1jkdi234klowe90a3jkdi 234 klowe 90 a 3 第九十一...

購物單 華為機試 C C

別人分享的 下面例子測試不過去 30 4 10 5 4 10 5 4 10 5 0 10 1 0 應該輸出 150王強今天很開心,公司發給n元的年終獎。王強決定把年終獎用於購物,他把想買的物品分為兩類 主件與附件,附件是從屬於某個主件的,下表就是一些主件與附件的例子 主件附件 電腦印表機,掃瞄器 書...