1. 程式人生 > >01王雪蓮-17董琪-實訓一

01王雪蓮-17董琪-實訓一

一:碼雲地址:https://gitee.com/ddongqi/sx1

二:實訓照片

 

      

三:解題思路

 

1:題目:黃金點

阿超的課都是下午兩點鐘,這時班上不少的同學都昏昏欲睡,為了讓大家興奮起來,阿超讓同學玩一個叫“黃金點”的遊戲:

N個同學(N通常大於10),每人寫一個0~100之間的有理數 (不包括0或100),交給裁判,裁判算出所有數字的平均值,然後乘以0.618(所謂黃金分割常數),得到G值。提交的數字最靠近G(取絕對值)的同學得到N分,離G最遠的同學得到-2分,其他同學得0分。記錄每一次遊戲每名同學的數字和分數。

2:思路

  • 由控制檯輸入玩家個數和遊戲局數
  • 輸入的數值不符題目,則顯示重新輸入,把輸入的數放到sum,求出G
  • 用絕對值求出與G最近和最遠,最靠近G的同學得到N分,離G最遠的同學得到-2分,其他同學得0分
  • 求出總分
  • 最大值最小值賦值輸出勝利與失敗

 

import java.util.Scanner;
    public class Main {
     public static void main(String[] args){
    
//輸入玩家個數 遊戲局數
        System.out.println("請輸入大於10的遊戲人數:");
        Scanner reader
=new Scanner(System.in); int N=reader.nextInt(); System.out.println("遊戲局數:"); int b=reader.nextInt(); Scanner scanner=new Scanner(System.in); double sum; double max,min; int maxzf=0; int minzf=0; int []zf=new int[100];
double []v=new double[100]; int [][]grade=new int[100][100]; for(int j=1;j<=b;j++) { sum=0.0; max=0.0; System.out.println("第"+j+"輪遊戲"); for(int i=1;i<=N;i++) { System.out.print("請玩家"+i+"輸入數字:"); double num=scanner.nextDouble();//玩家給出數字 while(num>=100||num<0){ System.out.println("請重新輸入"); num=scanner.nextDouble(); } v[i]=num; sum=sum+num;//所有玩家的總分 } double G=(sum/N)*0.618;//計算G值 System.out.println("G="+G); min=Math.abs(v[1]-G);//MATH.ABS絕對值 //跟G比較,最近最遠 for(int I=1;I<=N;I++) { if(Math.abs(v[I]-G)>=max) { max=Math.abs(v[I]-G); } if(Math.abs(v[I]-G)<=min) { min=Math.abs(v[I]-G); } } //將得分放到適當的位置 for(int m=1;m<=N;m++) { if(Math.abs(v[m]-G)==max) { grade[j][m]=-2; } else if(Math.abs(v[m]-G)==min) { grade[j][m]=N; } else { grade[j][m]=0; } System.out.println("第"+m+"名遊戲玩家所得分數為:"+grade[j][m]); } } //求總分 for(int p=1;p<=N;p++) { for(int q=1;q<=b;q++) { zf[p]=grade[q][p]+zf[p]; } System.out.println("第"+p+"名玩家所得總分為:"+zf[p]); } //求最大值最小值 for(int s=1;s<=N;s++) { if(zf[s]>=maxzf) { maxzf=zf[s]; } if(zf[s]<=minzf) { minzf=zf[s]; } } //最大值最小值賦值輸出 for(int t=1;t<=N;t++) { if(zf[t]==maxzf) { System.out.println("玩家"+t+"勝利!"); } if(zf[t]==minzf) { System.out.println("玩家"+t+"失敗!"); } } } }

 

 

四:執行結果

 

 

五:小結感受

           經過兩大節課的實訓時間,兩個人把實訓要求做出自己想要的成果。在討論和摩擦中做出的成果更加令人深刻。任何人都不是完美的,每個人都有進步的空間,每個人的程式碼風格也是不同的,有著不同的意見但是在過程中還是很愉快的。有了合作伙伴會提供與自己不同的思路,補充自己的不足點,比如:馬虎大意丟字母,方法記錯,知識點不牢固等等。而隊友的優秀學習能力在過程中有著很重要的地位。通過兩個人的合作鞏固和加深了知識點,學會在給予別人意見時吸取他人的建議補充到自己的身上。

           希望在之後的合作中兩個人共同進步,迸發出不一樣的火花,達到1+1>2!

 

 

六:評價夥伴

姓名 風格 團隊貢獻 優點 缺點 希望ta提高的地方 創作中的口頭禪
王雪蓮 雷厲風行 完善內容,查漏補缺 吃苦耐勞 不理智 希望她能理智一點 我就不信不行
董琪 大膽創新,簡潔明瞭 收集材料,提供意見 沉著冷靜 馬虎 處理事情要在細心一點 沒事,我們再來一次