#39493: 有沒有大神告訴我,第一種為什麼不會過 (C)


shuvivi07@gmail.com (徐稚甯)

學校 : 不指定學校
編號 : 262898
來源 : [27.52.96.147]
最後登入時間 :
2024-03-04 20:58:28
a005. Eva 的回家作業 -- POJ | From: [106.64.137.174] | 發表日期 : 2024-02-28 14:33

自己測試的時候是沒問題的,放上來就錯

#include<stdio.h>
int main(){
    int Y[4],a,b,c,d,e,t,i,j;
    scanf("%d",&t);
    for(j=1;j<=t;j++){
         scanf("%d %d %d %d",&a,&b,&c,&d);
         Y[0]=a;
         Y[1]=b;
         Y[2]=c;
         Y[3]=d;
         if ((c-b)==(b-a)){
                  Y[4]=c-b+d;
         }
         else{
                  e=d*((c-b)/(b-a));
                  Y[4]=e;
         }
         for(i=0;i<=4;i++){
                  printf("%d ",Y[i]);
         }
         printf("\n");
}
         return 0;
}
 
後來簡化的第二種,過了
 
#include<stdio.h>
int main(){
    int a,b,c,d,e,t,i,j;
    scanf("%d",&t);
   for(j=1;j<=t;j++){
         scanf("%d %d %d %d",&a,&b,&c,&d);
         if ((c-b)==(b-a)){
                  e=c-b+d;
          }
         else{
                  e=d*((c-b)/(b-a));
         }
         printf("%d %d %d %d %d ",a,b,c,d,e);
         printf("\n");
         }
    return 0;
}
 
雖然最後過了,但很想知道為什麼,拜託了
 
 
#39500: Re: 有沒有大神告訴我,第一種為什麼不會過 (C)


shuvivi07@gmail.com (徐稚甯)

學校 : 不指定學校
編號 : 262898
來源 : [27.52.96.147]
最後登入時間 :
2024-03-04 20:58:28
a005. Eva 的回家作業 -- POJ | From: [211.20.151.1] | 發表日期 : 2024-02-29 10:37

沒事了,謝謝

#include
int main(){
    int Y[5],a,b,c,d,e,t,i,j;
    scanf("%d",&t);
    for(j=1;j<=t;j++){
         scanf("%d %d %d %d",&a,&b,&c,&d);
         Y[0]=a;
         Y[1]=b;
         Y[2]=c;
         Y[3]=d;
         if ((c-b)==(b-a)){
                  Y[4]=c-b+d;
         }
         else{
                  e=d*((c-b)/(b-a));
                  Y[4]=e;
         }
         for(i=0;i<=4;i++){
                  printf("%d ",Y[i]);
         }
         printf("\n");
}
         return 0;
}
 
後來簡化的第二種,過了
 
#include
int main(){
    int a,b,c,d,e,t,i,j;
    scanf("%d",&t);
   for(j=1;j<=t;j++){
         scanf("%d %d %d %d",&a,&b,&c,&d);
         if ((c-b)==(b-a)){
                  e=c-b+d;
          }
         else{
                  e=d*((c-b)/(b-a));
         }
         printf("%d %d %d %d %d ",a,b,c,d,e);
         printf("\n");
         }
    return 0;
}
 
感謝學校老師,錯誤的都改過了,歡迎參考
 



 
ZeroJudge Forum