博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结对项目--黄金点游戏 (尹海&李状)
阅读量:5221 次
发布时间:2019-06-14

本文共 1693 字,大约阅读时间需要 5 分钟。

结对项目名称:黄金分割点游戏(单机)

运行环境:vs

编译语言:c语言

实现的功能:用户可以选择继续游戏并且可以保存之前获得的分数,但是为了游戏的公平性,游戏的参数人数一开始用户确定以后就不能够改变。

Github地址:https://github.com/522623378/hello-world/blob/master/Golden%20point

总结与心得:本次项目的设计能够学习到另一个结对项目者的想法,能够让自己的思维能够开阔一些,在设计项目的过程中总是不断完善能够让自己的思维更加严密,同时也可以学习到另一个结对项目者的代码编写方法,能够让自己对于同一个代码编写能够有不同的写法。

代码:

#include <stdio.h>
  #include <math.h>
  void main()
  {
  int i,n,j,k;
  char s='Y';
  int a=0;
  int maxscore;
  int student[50];
  int number[50];
  double b=0;
  double min = 100 , max = 0;
  while(s=='Y')
  {
  maxscore=-1000;
  printf("请输入游戏人数:");
  scanf("%d",&n);
  printf("请输入游戏局数:");
  scanf("%d",&j);
  for(i=0;i<n;i++) //将得分数组赋值0
  {
  student[i]=0;
  }
  for(k=0;k<j;k++) //局数循环
  {
  for(i=1;i<=n;i++) //输入每个同学的数并求和
  {
  printf("请输入第%d个人的数字:",i);
  scanf("%d",&number[i-1]);
  a += number[i-1];
  }
   
  printf("G值为:%.3f \n",b=a/n*0.618); //输出G值
  for(i=0;i<n;i++)
  {
  if(fabs(number[i]-b)<min) //用每个数分别减去G值并取绝对值找到最大绝对值max与最小min
  {
  min=fabs(number[i]-b);
  }
  }
  for(i=0;i<n;i++)
  {
  if(fabs(number[i]-b)>max)
  {
  max=fabs(number[i]-b);
  }
  }
  for(i=0;i<n;i++) //通过max与min找到距离G点最远与最近的数,并将对用同学的成绩进行修改
  {
  if(fabs(number[i]-b)==min)
  {
   
  if(fabs(number[i]-b)==max)
  { student[i]=student[i]+n;
  }
  student[i]-= 2;
  }
  }
  a=0; //每轮游戏结束将一些必要数值重置
  b=0;
  max=0;
  min=100;
  printf("*******************************\n");
  for(i=0;i<n;i++) //打印出每个同学成绩
  {
  printf("*第%d位学生的得分为%d\n",i+1,student[i]);
  }
  printf("*******************************\n");
  }
  for(i=0;i<n;i++) //找到最高分
  {
  if(student[i]>maxscore)
  {
  maxscore=student[i];
  }
  }
   
   
  printf("游戏结束!结果如下:\n");
   
  printf("恭喜得数为%d的同学获胜!\n",maxscore); //输出游戏结果
  printf("____________________________________________________________________\n");
  printf("是否继续游戏? Y/N\n"); //游戏结束判断是否继续游戏
  scanf("%s",&s);
  }
   
  }

转载于:https://www.cnblogs.com/li1158/p/8041268.html

你可能感兴趣的文章
Linux命令详解----iostat
查看>>
django之 使用py文件操作django项目中的表
查看>>
android:textAppearance解析
查看>>
ES6对象扩展
查看>>
javaweb—jstl如何循环List中的Map数据 (转)
查看>>
工厂方法模式
查看>>
转:测试用例的书写方式及测试模板大全
查看>>
[vijos1891]学姐的逛街计划
查看>>
如何配置 SpaceVim
查看>>
【模板】dinic算法
查看>>
Net学习日记_基础提高_5
查看>>
sed replace HEX sequence in your binary file:
查看>>
Android——黑名单管理(二)
查看>>
第三次迭代冲刺会议
查看>>
什么是云计算?
查看>>
Nobody gives away anything valuable for free.
查看>>
高等代数习题课(手写)
查看>>
ARGV数组的作用
查看>>
除法运算
查看>>
2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018)
查看>>