#5009: 為什麼用陣列就不通過,不用陣列就可以?


windex (阿杰)

學校 : 新北市立中平國民中學
編號 : 18310
來源 : [119.77.235.204]
最後登入時間 :
2014-01-13 13:59:20
a005. Eva 的回家作業 -- POJ | From: [119.77.235.204] | 發表日期 : 2011-03-27 21:35

底下用陣列就不通過

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a[4],b,c,d,e,i;
    while(cin >> e){
       for(i=1;i<=e;i++){
          cin >> a[1] >> a[2] >> a[3] >> a[4];
           if (a[2]-a[1]==a[3]-a[2] && a[3]-a[2]==a[4]-a[3]){
              cout << a[1] << " " << a[2] << " " << a[3] << " " << a[4] << " " << a[4]+a[2]-a[1] << endl;
              }
           else
              cout << a[1] << " " << a[2] << " " << a[3] << " " << a[4] << " "  << a[4]*a[2]/a[1] << endl;
       }
    }
    return 0;
}

底下不用陣列就通過

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a,b,c,d,e,i;
    while(cin >> e){
       for(i=1;i<=e;i++){
          cin >> a >> b >> c >> d;
           if (b-a==c-b && c-b==d-c){
              cout << a << " " << b << " " << c << " " << d << " " << d+b-a << endl;
              }
           else
              cout << a << " " << b << " " << c << " " << d << " " << d*b/a << endl;
       }
    }
    return 0;
}

 

 
#5010: Re:為什麼用陣列就不通過,不用陣列就可以?


eee9513571 (問天)

學校 : 康寧大學
編號 : 18107
來源 : [180.217.233.208]
最後登入時間 :
2018-11-13 12:07:36
a005. Eva 的回家作業 -- POJ | From: [111.80.67.20] | 發表日期 : 2011-03-27 22:16

因為你只宣告a[4],只有a[0],a[1],a[2],a[3]共4個,並沒有a[4]存在,你還輸入到a[4]

當然不過,改成宣告a[5]就可以了

 
ZeroJudge Forum