開發乙個座標計算工具, 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元的年終獎。王強決定把年終獎用於購物,他把想買的物品分為兩類 主件與附件,附件是從屬於某個主件的,下表就是一些主件與附件的例子 主件附件 電腦印表機,掃瞄器 書...