一:码云地址: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提高的地方 | 创作中的口头禅 |
王雪莲 | 雷厉风行 | 完善内容,查漏补缺 | 吃苦耐劳 | 不理智 | 希望她能理智一点 | 我就不信不行 |
董琪 | 大胆创新,简洁明了 | 收集材料,提供意见 | 沉着冷静 | 马虎 | 处理事情要在细心一点 | 没事,我们再来一次 |