第一次实训
1.16012107 邹彤
16012113 孙宁君
地址:https://gitee.com/ztsxxny/codes/p2kseig4qb7mwz9j6hc8125
2.照片

3.代码
import java.awt.event.MouseEvent;
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
double numn[][] = new double [100][100];
double goal[] = new double [100];
double gan[] = new double [100];
double max=0,min=100;
double sum=0,G=0;
System.out.println("请输入人数");
double nump=in.nextDouble();
System.out.println("请输入游戏次数");
double numg=in.nextDouble();
for(int h=0;h<nump;h++){
goal[h]=0;
gan[h]=0;
}
for(int s=0;s<numg;s++)
{
System.out.println("游戏开始");
for(int k=0;k<nump;k++) {//有多少个玩家输入多少次数字
System.out.println("玩家输入");
double num = in.nextDouble();
numn[s][k]=num;
}
for(int j=0;j<nump;j++)//将玩家输入的所有数字求和
{
sum+=numn[s][j];
}
G=(sum/nump)*0.618; //求G值
double dif=0;
for(int qq=0;qq<nump;qq++){ //求分数
dif=Math.abs(numn[s][qq]-G);
goal[qq]=dif;
}
for(int f=0;f<nump;f++)
{
if(max<goal[f])
max=goal[f];
if(min>goal[f])
min=goal[f];
}
for(int th=0;th<nump;th++)
{
if(goal[th]==min)
gan[th]=gan[th]+nump;//最接近G点的值玩家的分为N
if(goal[th]==max)
gan[th]=gan[th]-2;//最远的分数为-2
}
for(int tt=0;tt<nump;tt++)
{
System.out.println("玩家得分为:"+gan[tt]);//输出各玩家的分数
}
}
}
}
4.结果
.
5.感想:和同学合作编程和自己编程的感觉有大不同,可以看到对方的编程思路和自己的有些不同,可以互相学习,一起讨论解决问题的办法。
6.优点:思考问题快
缺点:考虑有些不全面,有小瑕疵
提高:更加认真仔细些


浙公网安备 33010602011771号