#7821: WA 一直多輸出一個字元


a0323456897 (小豬)

學校 : 國立嘉義大學
編號 : 33153
來源 : [111.254.160.173]
最後登入時間 :
2016-08-16 02:19:54
a009. 解碼器 -- ACM 458 | From: [111.255.134.32] | 發表日期 : 2013-06-03 22:50

#include<iostream>
using namespace std;
int main()
{
    char x, y;
    while(cin.get(x))
    {
        int(y) = int(x) - 7;
        cout << char(y) ;
    }
    cout<<"\n";
}
 
輸出時總是會多出個愛心字元
 
但不知道為什麼會這樣
 
請求大大幫解答  謝謝 
 
#7824: Re:WA 一直多輸出一個字元


snail (蝸牛)

學校 : 新北市立板橋高級中學
編號 : 2021
來源 : [203.64.161.123]
最後登入時間 :
2025-04-16 09:56:51
a009. 解碼器 -- ACM 458 | From: [111.240.47.146] | 發表日期 : 2013-06-04 19:23

#include
using namespace std;
int main()
{
    char x, y;
    while(cin.get(x))
    {
        int(y) = int(x) - 7;
        cout << char(y) ;
    }
    cout<<"\n";
}
 
輸出時總是會多出個愛心字元
 
但不知道為什麼會這樣
 
請求大大幫解答  謝謝 

換行 '\n' 的 ASCII 是 10,減 7 後變成 3,char(3) 顯示在螢幕上就變成愛心了。  
#8694: Re:WA 一直多輸出一個字元


wildsky (Wildsky)

學校 : 國立臺灣師範大學
編號 : 33992
來源 : [140.122.136.72]
最後登入時間 :
2015-03-05 12:48:04
a009. 解碼器 -- ACM 458 | From: [199.68.218.14] | 發表日期 : 2014-03-07 13:43

#include
using namespace std;
int main()
{
    char x, y;
    while(cin.get(x))
    {
        int(y) = int(x) - 7;
        cout << char(y) ;
    }
    cout<<"\n";
}
 
輸出時總是會多出個愛心字元
 
但不知道為什麼會這樣
 
請求大大幫解答  謝謝 

換行 '\n' 的 ASCII 是 10,減 7 後變成 3,char(3) 顯示在螢幕上就變成愛心了。

建議你可以想辦法讓讀到'\n'的時候跳過輸出
 
ZeroJudge Forum