linwebs

林林.台灣 | Linwebs - 隨手記

英文字母ASCII相互轉換

(1)  (2)  (3)  (TA)

解法1(上傳Judge)

#include<iostream>
using namespace std;
int main() {
char s[2];
cin >> s;
if(s[1] == 0)
cout << (int)s[0] << endl;
else
cout << (char)((int)s[0]*10+(int)s[1]-16) << endl;
return 0;
}

解法2

#include<iostream>
using namespace std;
int main() {
char s[2];
cin >> s;
if(s[1] == 0)
cout << (int)s[0] << endl;
else
cout << (char)((int)((s[0]-48))*10+(int)(s[1]-48)) << endl;
return 0;
}

解法3(相似於助教的解法)

/* Programming By Linwebs */
#include<iostream>
using namespace std;
int main() {
// ASCII 48~57 => '0'~'9' || 65~90 => 'A'~'Z'
char s, n;
cin >> s;
if(s >= 65 && s <= 90)
cout << (int)s << endl;
else {
cin >> n;
cout << (char)((s-48)*10+(n-48)) << endl;
}
return 0;
}

助教解法

#include<iostream>
using namespace std;
int main() {
char c, d;
cin >> c;
if(c >= 'A' && c <= 'Z')
cout << (int)c << endl;
else {
cin >> d;
c = (c - '0')*10 + d - '0';
cout << c << endl;
}
return 0;
}
建立時間:2018/10/20 AM 9:27
作者: Linwebs

bookmark熱門隨手記標籤