#21504: 請教:如果不是輸入一行,輸出一行。而是輸入幾行,再輸出幾行。該怎麼寫?


platinum91420@gmail.com (bbb aaa)

學校 : 不指定學校
編號 : 118632
來源 : [1.160.126.84]
最後登入時間 :
2020-06-11 23:48:13
a005. Eva 的回家作業 -- POJ | From: [1.160.126.84] | 發表日期 : 2020-06-12 00:08

如題,如果不是輸入一行,輸出一行。而是先輸入幾行,再輸出幾行。這樣要怎麼寫呢?這樣做代表:1.要事先決定多個變數  2.或者是先把一行數列的值儲存到一個地方,最後把所有的值一起匯出,請教各方大神解惑!謝謝

 
#21930: Re:請教:如果不是輸入一行,輸出一行。而是輸入幾行,再輸出幾行。該怎麼寫?


achieve8822@gmail.com (簡笙)

學校 : 不指定學校
編號 : 125240
來源 : [36.233.89.117]
最後登入時間 :
2020-07-27 15:34:33
a005. Eva 的回家作業 -- POJ | From: [36.233.89.117] | 發表日期 : 2020-07-31 15:28

如題,如果不是輸入一行,輸出一行。而是先輸入幾行,再輸出幾行。這樣要怎麼寫呢?這樣做代表:1.要事先決定多個變數  2.或者是先把一行數列的值儲存到一個地方,最後把所有的值一起匯出,請教各方大神解惑!謝謝

 

# include<iostream>

 

using namespace std;

 

int main()

{

int i, sum[20] = { 0 };

cout << "請輸入共幾行:";

cin >> i;

int num[20][5];

 

for (int j = 0; j < i; j++) //輸入

{

for (int k = 0; k < 4; k++)

{

cin >> num[j][k];

}

}

cout << "\n";

for (int j = 0; j < i; j++) //判斷

{

for (int k = 0; k < 4; k++)

{

if (num[j][1] / num[j][0] == num[j][2] / num[j][1]) //等比判斷

{

num[j][4] = num[j][3] * (num[j][3] / num[j][2]);

}

else if(num[j][1]-num[j][0]==num[j][2]-num[j][1]) //等差判斷

{

num[j][4] = num[j][3] + (num[j][3] - num[j][2]);

}

else //都不符合等比與等差

{

num[j][4] = 999; //強制輸出error

}

}

}

 

for (int j = 0; j < i; j++) //輸出

{

for (int k = 0; k < 5; k++)

{

sum[j] = num[j][0] + num[j][1] + num[j][2] + num[j][3] + num[j][4];

cout << num[j][k] << " ";

}

if (sum[j] > 105) //五個總是大於105 輸出error!

{

cout << "error!";

}

cout << "\n";

}

}

 
ZeroJudge Forum