作者 主題: 我查不出來~  (閱讀 2801 次)

0 會員 與 1 訪客 正在閱讀本文。

麻糬妹

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
我查不出來~
« 於: 2005-05-13 00:31 »
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
      int arr[4],arr1[4],i,j;
      int flag=0;
      long temptime;
      char c;
      srand(time(&temptime)%60);
     
      do{
           for(i=0;i<4;i++)
           
                {arr1=rand()%10;}
                if((arr[0]==arr1[1])||(arr[0]==arr1[2])||(arr[0]==arr1[3])||(arr[1]==arr1[2])||(arr[1]==arr1[3])
                ||(arr[2]==arr1[3]))
                {flag=0;}
                else
                {flag=1;}
       
          int  n,count,arr[4],arr1[4];        
          printf("請輸入預測的數字: \n ");
          count=scanf("%d",&n);
          arr1[0]=n/1000;
          arr1[1]=(n%1000)/100;
          arr1[2]=((n%1000)%100)/10;
          arr1[3]=(((n%1000)%100)%10);
          if((count==1)&&(arr[0]<10)&&(arr[1]<10)&&(arr[2]<10)&&(arr[3]<10))
          printf("%d",n);
         
          int a,b;
           a=0;
           b=0;
              for(i=0;i<4;i++)
              {
                 for(j=0;j<4;j++)
                 if(arr==arr1[j])
                 a=a+1;
                 
                 if((arr==arr1[j])&&(i!=j))
                 b=b+1;
              }
             
              printf("比對結果是 %da %db\n",a,b);
     
         
             }while ((c=getchar())!='\n');
       getchar();                  
}                                      


執行時輸入時第一次可以輸入數字..但輸入第二次就直接關閉視窗了..是那裡設定不對嗎?可是語法都沒錯..可以告訴我嗎?

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
我查不出來~
« 回覆 #1 於: 2005-05-14 22:14 »
語法沒錯不代表邏輯正確 !
你的猜數字程式邏輯大有問題,這部份不予置評,等你程式熟練了自然會改進。

你的問題在 while 那行,請自行解決。