#19132: 請問要怎麼改才能符合題目的要求


bear490421408 (bear)

學校 : 不指定學校
編號 : 83658
來源 : [124.9.117.230]
最後登入時間 :
2023-12-06 23:15:30
e283. APCS 類似題 - 小崴的特殊編碼 -- 小崴系列APCS | From: [218.32.117.144] | 發表日期 : 2019-09-02 22:08

我的寫法如下

要怎麼改才可以符合這題連續輸入的要求呢?

#include <iostream>
using namespace std;
int main(){
int a[5];
char b[5];
int N;
cin>>N;

for(int i=0;i<N;i++){
for(int j=0;i<N;i++){
cin>>a[0]>>a[1]>>a[2]>>a[3];

if(a[0]==0&&a[1]==1&&a[2]==0&&a[3]==1){
b[i]='A';
}else if(a[0]==0&&a[1]==1&&a[2]==1&&a[3]==1){
b[i]='B';
}else if(a[0]==0&&a[1]==0&&a[2]==1&&a[3]==0){
b[i]='C';
}else if(a[0]==1&&a[1]==1&&a[2]==0&&a[3]==1){
b[i]='D';
}else if(a[0]==1&&a[1]==0&&a[2]==0&&a[3]==0){
b[i]='E';
}else if(a[0]==1&&a[1]==1&&a[2]==0&&a[3]==0){
b[i]='F';
}
}
}
for(int i=0;i<N;i++){
cout<<b[i];
}

return 0;

}

 
#19133: Re:請問要怎麼改才能符合題目的要求


inversion (「我們所認識的可符香是個像天使的好女孩」之葉林 *Cries...)

學校 : 國立清華大學
編號 : 43537
來源 : [49.159.6.107]
最後登入時間 :
2022-05-28 19:29:12
e283. APCS 類似題 - 小崴的特殊編碼 -- 小崴系列APCS | From: [49.158.83.43] | 發表日期 : 2019-09-02 22:45

如果您有解過 a001 這個題目的話,其「連續輸入」的要求即與此題相同,作法也是類似的。

 

如果沒有的話,請先行去解 a001 。並搭配本網站首頁的「使用手冊」。

在該網頁的中段應該會找到以下程式碼:

#include <iostream>

using namespace std;

 

int main() {

    string s;

    while(cin >> s) {

        cout << "hello, "<< s << endl;

    }

    return 0;

}

其中的 while(cin >> s) 意為一直讀入「東西」直到沒有東西可讀。因為 s 的型態是 string ,因此這邊的「東西」為不包含「換行字元」的字串片段。

原理是 cin 物件在讀取成功時,會回傳形同布林值 true 的東西;讀取失敗時(如碰到 EOF (End of File,檔案尾端)或是強制中斷等),會回傳形同布林值 false 的東西。(實際發生的狀況以及回傳值請參見標準庫的文件以及您使用的編譯器之定義文件)

 

因此在本題,您可以將程式碼改寫為 while (cin >> N) 之類的架構。(請自行思考該放到哪裡、其他部分程式碼該如何調整)

 

以上。希望有幫助到您。

 
ZeroJudge Forum