初聞不知曲中意,再聞已是曲中人去年此時正被這套pta題目折磨,一年之後再寫這些題目,記憶尤新,經歷的酸楚自然是值得的。
輸入乙個以#結束的字串,本題要求濾去所有的非十六進製制字元(不分大小寫),組成乙個新的表示十六進製制數字的字串,然後將其轉換為十進位制數後輸出。如果在第乙個十六進製制字元之前存在字元「-」,則代表該數是負數。
輸入在一行中給出乙個以#結束的非空字串。
在一行中輸出轉換後的十進位制數。題目保證輸出在長整型範圍內。
±p-xf4±1!#
-3905
重點在字串的清洗上,只保留第乙個負號,保留數字和十六進製制字元,其餘洗掉。
然後進行進製轉換
#include
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
#define for1(i,m,n) for(int i=m;i#define for2(i,m,n) for(int i=m;i>=n;i--)
// 清洗輸入的字串
vector<
char
>
convert
(string s)
else
if(s[i]
=='-'
&&first==
true)}
return v;
}// 進製轉換
ll convertres
(vector<
char
> v)
else
if(v[i]
>=
'a'&&v[i]
<=
'f')
else
if(v[i]
>=
'a'&&v[i]
<=
'f')
else;}
return res;
}int
main()
// cout << endl;
ll res =
convertres
(v);if(
!postive) res *=-
1;cout << res << endl;
return0;
}
字串轉換成十進位制整數
7 22 字串轉換成十進位制整數 15 分 輸入乙個以 結束的字串,本題要求濾去所有的非十六進製制字元 不分大小寫 組成乙個新的表示十六進製制數字的字串,然後將其轉換為十進位制數後輸出。如果在第乙個十六進製制字元之前存在字元 則代表該數是負數。輸入在一行中給出乙個以 結束的非空字串。在一行中輸出轉換...
字串轉換成十進位制整數
字串轉換成十進位制整數 輸入乙個以 結束的字串,本題要求濾去所有的非十六進製制字元 不分大小寫 組成乙個新的表示十六進製制數字的字串,然後將其轉換為十進位制數後輸出。如果在第乙個十六進製制字元之前存在字元 則代表該數是負數。輸入在一行中給出乙個以 結束的非空字串。在一行中輸出轉換後的十進位制數。題目...
c字串轉換成十進位制整數
題目 輸入乙個以 結束的字串,本題要求濾去所有的非十六進製制字元 不分大小寫 組成乙個新的表示十六進製制數字的字串,然後將其轉換為十進位制數後輸出。如果在第乙個十六進製制字元之前存在字元 則代表該數是負數。include include intmain if a o 0 p i 0 long lon...