1. 程式人生 > >01趙玉榮-04郝玥-03安海瑩實訓一

01趙玉榮-04郝玥-03安海瑩實訓一

一、碼雲地址https://gitee.com/zyr16012001/codes

二、結對程式設計過程照片:

三、解題思路

我們選擇了第一個黃金點專案

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

思路

1.輸入的數字放進數Q,求Q平均值 *0.618=G,在用輸入的數字減去G。
2.得出Z,把Z放在兩個數組裡A,B。
3.陣列A裡排大小, 陣列B做參照。
4.A裡最小的數字和B裡的每一個數字對比,然後找出A裡最小數字在B裡的位置,此人成績為參加的人數。
5.用A裡最大數字 和陣列B裡每一個數字比較,找出與B裡相同數字的位置n, 這個人成績是-2。
6.其餘人得分為0。

程式碼如下:

import java.util.Scanner;
public class 黃金點 {
    public static void main(String[] args) {
        kk();
    }
    public static  void kk(){
        Scanner 黃金點 =new Scanner(System.in);
        System.out.println("想要進行遊戲,請按1,不想遊戲,按任易數字");
        int z=黃金點.nextInt();
        while(z==1){
        
// TODO Auto-generated method stub Scanner 黃金點1 =new Scanner(System.in); System.out.println("輸入同學的個數:"); int n=黃金點1.nextInt(); int [] a=new int[n+1]; int sum=0; //輸入同學數 for (int i=0;i<n;i++) { int h=i+1; System.out.println(
"第"+h+"個同學"); int m=黃金點1.nextInt(); a[i]=m; sum+=m; } //輸出a[]陣列 for (int i=0;i<n;i++){ System.out.print(a[i]+" "); } System.out.print("\n "); int x=0; double g=0; x=sum/n; g=x*0.618; //把絕對值存入陣列 double [] f=new double[n+1]; for (int i=0;i<n;i++){ if (a[i]>=g){ f[i]=a[i]-g; } else{ f[i]=g-a[i]; } } //輸出f[]陣列 for (int i=0;i<n;i++){ System.out.print(f[i]+" "); } System.out.print("\n "); double [] e=new double[n+1]; for (int i=0;i<n;i++){ e[i]=f[i]; } //輸出e[]陣列 for (int i=0;i<n;i++){ System.out.print(e[i]+" "); } System.out.print("\n "); //排序後的絕對值 for (int i=0;i<10;i++){ for(int j=i;j<10;j++){ if(e[i]>e[j]){ double r=e[j]; e[j]=e[i]; e[i]=r; } } } //輸出排序後的陣列 for (int i=0;i<n;i++){ System.out.print(e[i]+" "); } System.out.print("\n "); double h=e[0]; double t=e[n]; //判斷排序後的數在原來的位置 System.out.print(e[0]); System.out.print(e[n-1]); System.out.print("\n "); int l=0; int k=0; for (int i=0;i<n;i++){ if(e[0]==f[i]){ int k1; k1=i; //System.out.println(k); } } for (int i=0;i<n;i++){ if(e[n-1]==f[i]){ //int l; l=i; System.out.println(l); } } int q=l+1; int w=k+1; System.out.println(k); System.out.println(l); System.out.println("第"+w+"個同學"+"得"+n+"分"); System.out.println("第"+q+"個同學"+"得-2分"); System.out.println("其餘同學得0分"); } System.out.println("遊戲結束"); } }

四、執行結果截圖:

五、小結感受:

    經過這兩天的努力和堅持,我們朝著一個方向努力,所以最終必將導致質的飛躍。失敗總是會有的,我們在程式設計設計想程式碼思路的時候遇到了一些困難,走了很多彎路,對於經驗不足,幾條程式碼的不注意等的問題,但還好,人多力量大每人在各自獨立設計、實現軟體的過程中不免要犯這樣那樣的錯誤。在結對程式設計中,因為有隨時的複審和交流,程式各方面的質量較高,這樣,程式中的錯誤就會少得多,這樣會省下很多以後修改、測試的時間,兩人合作能有更強的解決問題的能力,當有另一個人在你身邊和你緊密配合, 做同樣一件事情的時候,  你不好意思開小差,好意思糊弄,不浪費時間,更有效地交流,相互學習和傳遞經驗,達到知識共享,高效學習,帶來1+1>2的效果

六、對於合作夥伴,指出優點、缺點,希望ta提高的地方   

姓名 風格 團隊貢獻 優點 缺點 希望ta提高的地方 創作中的口頭禪
趙玉榮 獨出手眼 欹嶔歷落 完善材料 適當提出建議的軍師 磨蹭 處理事情要快而穩 不著急,慢慢來,咱三是個team!!!
安海瑩 狂野幻想 幽默詼諧 收集材料 解決一切後勤服務的保障者 毛楞 處理問題要沉著冷靜一些 再說我,我就哭啦!!!
郝玥 秀外慧中 言辭犀利 整理材料 腦洞大開的謀士 太磨蹭 打字速度提高 我們能行!!!