#22383: 將變數字元碼應題目要求轉換成新字元並輸出 //C++


dick930924@gmail.com (諾亞)

學校 : 不指定學校
編號 : 127460
來源 : [111.241.92.215]
最後登入時間 :
2020-08-28 23:12:30
a009. 解碼器 -- ACM 458 | From: [111.241.92.215] | 發表日期 : 2020-08-28 16:58

#include <iostream>

using namespace std;

int main() {

string a; //宣告變數(字串)

while(getline(cin, a)){

for(int x = 0;x < a.length();x++){

cout<<char(a[x]-7); //將變數字元碼應題目要求轉換成新字元並輸出

}

cout<<endl;

}

return 0;

}

 
#24561: Re:將變數字元碼應題目要求轉換成新字元並輸出 //C++


james84215200@gmail.com (吳宥駿)

學校 : 不指定學校
編號 : 77814
來源 : [61.220.206.31]
最後登入時間 :
2021-06-21 16:57:55
a009. 解碼器 -- ACM 458 | From: [111.241.0.196] | 發表日期 : 2021-03-05 16:51

#include

using namespace std;

int main() {

string a; //宣告變數(字串)

while(getline(cin, a)){

for(int x = 0;x < a.length();x++){

cout<<char(a[x]-7); //將變數字元碼應題目要求轉換成新字元並輸出

}

cout<<endl;

}

return 0;

}

 

cout<<char(a[x]-7); //將變數字元碼應題目要求轉換成新字元並輸出

很好奇為什麼可以這樣寫

 
#24563: Re:將變數字元碼應題目要求轉換成新字元並輸出 //C++


jam930725@gmail.com (浮沉沉沉沉沉沉沉沉)

學校 : 國立臺中科技大學
編號 : 124762
來源 : [123.241.38.232]
最後登入時間 :
2024-10-01 22:15:14
a009. 解碼器 -- ACM 458 | From: [89.42.31.93] | 發表日期 : 2021-03-05 20:02

#include

using namespace std;

int main() {

string a; //宣告變數(字串)

while(getline(cin, a)){

for(int x = 0;x < a.length();x++){

cout<<char(a[x]-7); //將變數字元碼應題目要求轉換成新字元並輸出

}

cout<<endl;

}

return 0;

}

 

cout<<char(a[x]-7); //將變數字元碼應題目要求轉換成新字元並輸出

很好奇為什麼可以這樣寫

a[x] 得到的是 char,例如 'a', 'Z'...等等

這些字元在儲存時是以ascii code編碼來儲存的,如果拿來做運算的話也是以ascii code的編碼來做運算

像是('1' + 7),就會是 (49+7) = 56 , 對應字元 '8';

另外 有時候空間限制比較緊的時候,也會用char來做運算 (因為char只佔1位元組)

 
ZeroJudge Forum