Board logo

標題: [隨堂測驗] 超級金頭腦 (一) [打印本頁]

作者: 鄭繼威    時間: 2022-5-7 00:14     標題: [隨堂測驗] 超級金頭腦 (一)

本帖最後由 鄭繼威 於 2022-5-14 10:51 編輯

設計遊戲 "超級金頭腦",
讓使用者計算兩個範圍介於51~99之隨機亂數的和.





本帖隱藏的內容需要回復才可以瀏覽

作者: 柳侑辰    時間: 2022-5-7 11:53

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int x,y,a;
  9.     x=rand()%49+51;
  10.     y=rand()%49+51;
  11.     cout<<x<<" + "<<y<<" = ";
  12.     cin>>a;
  13.     if(a == x+y)
  14.     {
  15.         cout<<"答對了!本題花了"<<clock()<<"毫秒思考!"<<endl;     
  16.     }else
  17.     {
  18.         cout<<"答錯了!本題花了"<<clock()<<"毫秒思考!"<<endl;   
  19.     }
  20.     system("pause");
  21.     return 0;   
  22. }
複製代碼

作者: 高昀昊    時間: 2022-5-8 11:40

本帖最後由 高昀昊 於 2022-5-14 11:01 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     cout<<"-----超級金頭腦-----"<<endl<<"請問: ";
  8.     int n[2];
  9.     int x,y=0;
  10.     srand(time(NULL));
  11.     for(int j=0; j<2; j++)
  12.     {
  13.         n[j]=rand()%49+51;
  14.         y+=n[j];
  15.     }  
  16.     for(int j=0; j<2; j++)
  17.     {
  18.         cout<<n[j]<<" ";
  19.         if(j==0)
  20.         cout<<"+ ";
  21.         if(j==1)
  22.         cout<<"= ";
  23.     }
  24.     long a,b;
  25.     a=clock();
  26.     cin>>x;
  27.     b=clock();
  28.     if(x==y)
  29.     {
  30.             cout<<"答對了,本題花了"<<b-a<<"毫秒思考"<<endl;
  31.         }else{
  32.                 cout<<"答錯了,答案為"<<y<<",本題花了"<<b-a<<"毫秒思考"<<endl;
  33.         }
  34.     system("pause");
  35.     return 0;   
  36. }
複製代碼

作者: 鄭繼威    時間: 2022-5-13 03:14

回復 3# 高昀昊
1.首先題目沒有說兩個亂數不能重複所以15~22行的判斷重複並不需要
  1. for(int k=0; k<j; k++)
  2.         {
  3.             if(n[k]==n[j])
  4.             {
  5.                 j--;
  6.                 break;              
  7.             }
  8.         }
複製代碼
2.再來,好!如果今天真的說兩擱亂數不能重複你要判斷OK,但你sum時(14行)
  1. y+=n[j];
複製代碼
應該是放在判斷後而不是判斷前吧,放在判斷前會變成如果今天數字重複了他退回去可是你已經先sum了,這樣會多加數字

3.計時小錯,輸入前按下碼表(第32行)
  1. clock();
複製代碼
,輸入後再按一次碼表來相減取得時間差
作者: 鍾易澄    時間: 2022-5-14 10:42

本帖最後由 鍾易澄 於 2022-5-14 10:44 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int x, y, ans, ans_c;
  9.     long t1,t2,pass;
  10.     while(true)
  11.     {
  12.         x=rand()%49+51;   //51~99
  13.         y=rand()%49+51;
  14.         ans_c=x+y;
  15.         cout<<x<<" + "<<y<<" = ";
  16.         t1=clock();
  17.         cin>>ans;
  18.         t2=clock();
  19.         pass=t2-t1;
  20.         if(ans==ans_c)
  21.             cout<<"答對了! 本題花了"<<pass<<"毫秒思考!"<<endl;
  22.         else
  23.             cout<<"答錯了! 本題花了"<<pass<<"毫秒思考!"<<endl;  
  24.         cout<<endl;
  25.     }
  26.     system("pause");
  27.     return 0;
  28. }複製代碼
複製代碼

作者: 曾善勤    時間: 2022-5-14 10:48

本帖最後由 曾善勤 於 2022-5-14 10:49 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int x, y, ans, ans_c;
  9.     long t1,t2,pass;
  10.     while(true)
  11.     {
  12.         x=rand()%49+51;  
  13.         y=rand()%49+51;
  14.         ans_c=x+y;
  15.         cout<<x<<" + "<<y<<" = ";
  16.         t1=clock();
  17.         cin>>ans;
  18.         t2=clock();
  19.         pass=t2-t1;
  20.         if(ans==ans_c)
  21.             cout<<"答對了! 本題花了"<<pass<<"毫秒思考!"<<endl;
  22.         else
  23.             cout<<"答錯了! 本題花了"<<pass<<"毫秒思考!"<<endl;  
  24.         cout<<endl;
  25.     }
  26.     system("pause");
  27.     return 0;
  28. }
複製代碼

作者: 許馹東    時間: 2022-5-14 10:50

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int x, y, ans, ans_c;
  9.     long t1,t2,pass;
  10.     while(true)
  11.     {
  12.         x=rand()%49+51;
  13.         y=rand()%49+51;
  14.         ans_c=x+y;
  15.         cout<<x<<" + "<<y<<" = ";
  16.         t1=clock();
  17.         cin>>ans;
  18.         t2=clock();
  19.         pass=t2-t1;
  20.         if(ans==ans_c)
  21.             cout<<"答對了! 本題花了"<<pass<<"毫秒思考!"<<endl;
  22.         else
  23.             cout<<"答錯了! 本題花了"<<pass<<"毫秒思考!"<<endl;  
  24.         cout<<endl;
  25.     }
  26.     system("pause");
  27.     return 0;
  28. }
複製代碼

作者: 孫子傑    時間: 2022-5-14 10:58

本帖最後由 孫子傑 於 2022-5-14 11:35 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.         re:
  8.         srand(time(NULL));
  9.         int x,y,z;
  10.         long t1=0 , t2=0;
  11.         x=rand()%49+51;
  12.         y=rand()%49+51;
  13.         cout<<x<<" + "<<y<<" = ";
  14.         t1=clock();
  15.         cin>>z;
  16.         t2=clock();
  17.     if(z == x+y)
  18.         {
  19.                 cout<<"答對了!本題花了"<<(t2-t1)/1000<<"秒思考!"<<endl;
  20.                
  21.         }else
  22.         {
  23.                  cout<<"答錯了!本題花了"<<(t2-t1)/1000<<"秒思考!"<<endl;   
  24.                
  25.         }
  26.         goto re;
  27.         system("pause");
  28.     return 0;
  29. }
複製代碼

作者: 徐譽豈    時間: 2022-5-14 10:59

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     int x,y,z;
  8.     srand(time(NULL));
  9.     x=rand()%49+51;
  10.     y=rand()%49+51;
  11.     cout<<x<<"+"<<y<<"=";
  12.     cin>>z;
  13.     if(z == x+y)
  14.     {
  15.          cout<<"恭喜答對!本題花了"<<clock()<<"毫秒思考!"<<endl;
  16.     }else
  17.     {
  18.          cout<<"答錯囉,答案是:"<<x+y<<"本題花了"<<clock()<<"毫秒思考!"<<endl;
  19.     }
  20.     system("pause");
  21.     return 0;
  22. }
複製代碼

作者: 許宸瑀    時間: 2022-5-14 11:00

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int x, y, ans, ans_c;
  9.     long t1,t2,pass;
  10.     while(true)
  11.     {
  12.         x=rand()%49+51;   //51~99
  13.         y=rand()%49+51;
  14.         ans_c=x+y;
  15.         cout<<x<<" + "<<y<<" = ";
  16.         t1=clock();
  17.         cin>>ans;
  18.         t2=clock();
  19.         pass=t2-t1;
  20.         if(ans==ans_c)
  21.             cout<<"答對了! 本題花了"<<pass<<"毫秒思考!"<<endl;
  22.         else
  23.             cout<<"答錯了! 本題花了"<<pass<<"毫秒思考!"<<endl;  
  24.         cout<<endl;
  25.     }
  26.     system("pause");
  27.     return 0;
  28. }
複製代碼

作者: 郭博鈞    時間: 2022-5-14 11:04

本帖最後由 郭博鈞 於 2022-5-14 11:06 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<cmath>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.   int ans,x,y,ans1;
  9.   long t1,t2,pass;
  10.   while(true)
  11.   {
  12.       x=rand()%49+51;
  13.       y=rand()%49+51;
  14.       ans1=x+y;
  15.       cout<<x<<" + "<<y<<" = ";
  16.       t1=clock();
  17.       cin>>ans;
  18.       t2=clock();      
  19.       pass=t2-t1;
  20.       
  21.   
  22.       if(ans==ans1)
  23.       {
  24.          cout<<"答對了! 本題花了"<<pass<<"毫秒思考!"<<endl;         
  25.       }else
  26.       {
  27.          cout<<"答錯了! 本題花了"<<pass<<"毫秒思考!"<<endl;  
  28.       }
  29.       break;      
  30. }
  31.    
  32.    
  33. system("pause");   
  34. return 0;   
  35. }
複製代碼

作者: 田家齊    時間: 2022-5-14 11:14

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {   
  7.     while(1)
  8.     {
  9.     srand(time(NULL));
  10.     int x,y,z;
  11.     long t1,t2,pass;
  12.     x=rand()%49+51;
  13.     y=rand()%49+51;
  14.   
  15.     cout<<x<<"+"<<y<<"=";
  16.       t1=clock();
  17.     cin>>z;
  18.     t2=clock();
  19.     pass=t2-t1;
  20.     if(z==x+y)
  21.     {
  22.        cout<<"答對了!本題花"<<pass<<"毫秒思考"<<endl;;      
  23.     }else
  24.     {
  25.        cout<<"答錯了!本題花"<<pass<<"毫秒思考"<<endl;;  
  26.     }
  27. }
  28.     system("pause");
  29.     return 0;   
  30. }
複製代碼

作者: 高鋐鈞    時間: 2022-5-14 11:36

本帖最後由 高鋐鈞 於 2022-5-14 11:38 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {   
  7.     while(1)
  8.     {
  9.     srand(time(NULL));
  10.     int x,y,z;
  11.     long t1,t2,pass;
  12.     x=rand()%49+51;
  13.     y=rand()%49+51;
  14.   
  15.     cout<<x<<"+"<<y<<"=";
  16.       t1=clock();
  17.     cin>>z;
  18.     t2=clock();
  19.     pass=t2-t1;
  20.     if(z==x+y)
  21.     {
  22.        cout<<"答對了!本題花"<<pass<<"毫秒思考"<<endl;;      
  23.     }else
  24.     {
  25.        cout<<"答錯了!本題花"<<pass<<"毫秒思考"<<endl;;  
  26.     }
  27. }
  28.     system("pause");
  29.     return 0;   
  30. }
複製代碼

作者: 林紘憲    時間: 2022-5-21 09:40

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int x,y,a;
  9.     x=rand()%49+51;
  10.     y=rand()%49+51;
  11.     cout<<x<<" + "<<y<<" = ";
  12.     cin>>a;
  13.     if(a == x+y)
  14.     {
  15.         cout<<"答對了!本題花了"<<clock()<<"毫秒思考!"<<endl;     
  16.     }else
  17.     {
  18.         cout<<"答錯了!本題花了"<<clock()<<"毫秒思考!"<<endl;   
  19.     }
  20.     system("pause");
  21.     return 0;   
  22. }
複製代碼

作者: 林紘憲    時間: 2022-5-21 09:51

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int x, y, ans, ans_c;
  9.     long t1,t2,pass;
  10.     while(true)
  11.     {
  12.         x=rand()%49+51;   //51~99
  13.         y=rand()%49+51;
  14.         ans_c=x+y;
  15.         cout<<x<<" + "<<y<<" = ";
  16.         t1=clock();
  17.         cin>>ans;
  18.         t2=clock();
  19.         pass=t2-t1;
  20.         if(ans==ans_c)
  21.             cout<<"答對了! 本題花了"<<pass<<"毫秒思考!"<<endl;
  22.         else
  23.             cout<<"答錯了! 本題花了"<<pass<<"毫秒思考!"<<endl;  
  24.         cout<<endl;
  25.     }
  26.     system("pause");
  27.     return 0;
  28. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2