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


platinum91420@gmail.com (bbb aaa)


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

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


achieve8822@gmail.com (簡笙)


如題,如果不是輸入一行,輸出一行。而是先輸入幾行,再輸出幾行。這樣要怎麼寫呢?這樣做代表: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";

}

}