• Gold point


       此篇博客引用了网上的代码,代码地址:http://www.cnblogs.com/zw2013040101034/p/5370302.html.

     Github地址:https://github.com/Divel-Qin/C-Program/tree/master/Goldpoint/Goldpoint

       黄金点游戏是一个数字小游戏,其游戏规则是:

          N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分。玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。

      该程序用C++写,主要功能是算出G点,代码如下:

      ave = sum / num;
      G = ave*0.618;

      然后就是比较哪个数离G点最近:

    for (j = 1; j <= M; j++)
    {
    S1[j] = abs(S[j] - G);
    }
    max = min = S1[1];
    for (j = 1; j <= M; j++)
    {
    if (S1[j] >= max)
    max = S1[j];
    else if (S1[j] < min)
    min = S1[j];
    }
    for (j = 1; j <= M; j++)
    {
    if (S1[j] == max)
    S2[j] = -2;
    else if (S1[j] == min)
    S2[j] = M;
    else S2[j] = 0;

    }
    for (j = 1; j <= M; j++)
    {

      最后我们改进了该程序,其中理解不太清楚的是英文提示,我们改成了中文,便于玩家理解。

      感悟:我们理解了数组的概念,以及循环,这个游戏给我们的乐趣就是能让我们越玩越有兴趣。

  • 相关阅读:
    ES6 解构
    flutter
    selenium
    selenium
    python
    selenium
    selenium
    selenium
    selenium
    selenium- SMTP发送邮件
  • 原文地址:https://www.cnblogs.com/qiyi001/p/7675451.html
Copyright © 2020-2023  润新知