#8644: 邏輯哪裡錯了


cfs5566 (阿均)


#include<stdio.h>
#include<stdlib.h>
int main()
{
   int n;
   scanf("%d",&n);
   int a=0,b=0,c=0,d=0;
   int i;
   for(i=n;i>0;--i)
   {
   while(scanf("%d %d %d %d ",&a,&b,&c,&d)!=EOF)
   {
      if(b-a==c-b)
      {
      printf("%d",d+(d-c));
      }
      else if(d/c==c/b)
      {
      printf("%d",d*(d/c));
      }
      break;
   }
   }
   system("pause");
   return 0;    

#8645: Re:邏輯哪裡錯了


crazytim (天邊)


#include
#include
int main()
{
   int n;
   scanf("%d",&n);
   int a=0,b=0,c=0,d=0;
   int i;
   for(i=n;i>0;--i)
   {
   while(scanf("%d %d %d %d ",&a,&b,&c,&d)!=EOF)
   {
      if(b-a==c-b)
      {
      printf("%d",d+(d-c));
      }
      else if(d/c==c/b)
      {
      printf("%d",d*(d/c));
      }
      break;
   }
   }
   system("pause");
   return 0;    

scanf()那裏 改成 scanf("%d%d%d%d",&a,&b,&c,&d)==4

 

建議你先使用cin cout來寫 

有些地方有多餘的部分 像是一開始a b c d的宣告

而for和while那裏其實只要使用一個迴圈就夠了

還有提醒你丟答案的時候要把 system("pause");  這句拿掉

#8646: Re:邏輯哪裡錯了


cfs5566 (阿均)


scanf()那裏 改成 scanf("%d%d%d%d",&a,&b,&c,&d)==4

可以問一下 那個 ==4 是指什麼意思嗎,那如果<3會如何?

還有%d %d %d %d,不加中間的空白是只會影響到他的值(造成亂數)嗎?