• 结对项目:黄金点游戏


    领航员:干友恒   驾驶员:曹纪涛

    编译语言:c语言

    编程环境是Visual C++ 6.0

    我们限定输入的数字是0-100之间的有理数,提供一个菜单给用户选择,玩家的人数和游戏的次数都由用户来输入,再将玩家输入的数字算出黄金点,再和玩家输入的数字进行比较,最后输出玩家的得分,由得分可以看出谁是胜利者。

    心得:通过本次实验对c语言的运用更加熟练,了解了结对项目中的合作配合,对现代软件工程团队有了初步的了解认识。

    GITHUB:https://github.com/GYH1205392387/MY-REPOSITORY/blob/master/%E7%BB%93%E5%AF%B9%E9%A1%B9%E7%9B%AE%EF%BC%9A%E9%BB%84%E9%87%91%E7%82%B9%E6%B8%B8%E6%88%8F

    //代码参考网上的,来源忘记了:)

     1 #include "stdio.h"
     2 #include "string.h"
     3 #include "stdlib.h"
     4 
     5 struct
     6 {
     7     float data;
     8     float grade;
     9 }Player[100]; 
    10 void game();
    11 void main()
    12 {
    13     int n;
    14     printf("--------------黄金点游戏------------
    ");
    15     printf("
    规则:输入的数仅为0~100之间的有理数
    
    ");
    16     printf("--------------1.开始游戏------------
    ");
    17     printf("--------------2.退出游戏------------
    ");
    18     printf("------------请输入您的选择:--------
    ");
    19     scanf("%d", &n);
    20     system("cls");
    21     if (n == 1)
    22     {
    23         game();
    24 
    25     }
    26     else
    27         exit;
    28 }
    29 
    30 
    31 void game()
    32 {
    33     int  N, a, b, c, i, j, k;
    34     
    35     printf("请输入游戏人数:");
    36     scanf("%d", &N);
    37     printf("
    请输入游戏次数:");
    38     scanf("%d", &a);
    39     for (i= 0; i < N; i++)
    40     {
    41         Player[i].grade = 0;
    42     }
    43     for (j = 1; j <= a; j++)
    44     {
    45         int num = 0, max = 100, min = 0;
    46         float G=0,m=0;
    47         printf("
    第%d次游戏:
    ",j);
    48         for (i = 0; i < N; i++)
    49         {
    50          loop: printf("玩家%d输入的数为:",i+1);
    51                scanf("%f", &Player[i].data);
    52                if(Player[i].data>=0&&Player[i].data<=100)
    53                {
    54                   num += Player[i].data;
    55                }
    56                else
    57                {
    58                   printf("输入的数据有误,请重新输入!
    ");
    59                   goto loop;
    60                }
    61         }
    62         G = (float)num*0.618 / N;
    63         printf("
    黄金G点值为:%f
    
    ",G);
    64         for (k = 0; k < N; k++)
    65         {
    66             m = abs((float)Player[k].data - G);
    67             if (m>=min)
    68             {
    69                 min = m;
    70                 b = k;
    71             }
    72             if (m <= max)
    73             {
    74                 max = m;
    75                 c = k;
    76             }
    77         }
    78         Player[b].grade += -2;
    79         Player[c].grade += 2;
    80         for (i = 0; i < N; i++)
    81         {
    82             printf("玩家%d的得分为:", i+1);
    83             printf("%f
    ", Player[i].grade);
    84         }
    85     }
    86 }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    window.parent 、window.top及window.self 详解
    js中的变量提升和函数提升
    IE不支持ES6语法的解决方案——Babel
    JavaScript 文件拖拽上传插件 dropzone.js 介绍
    C# DataTable 增加行与列
    group by 与 order by 一起使用的时候
    window.open传递多个参数
    Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
    ASP.NET中调用百度地图API
    C# 读取Excel中的数据到DataTable中
  • 原文地址:https://www.cnblogs.com/MeiT/p/7744884.html
Copyright © 2020-2023  润新知