#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
int result[100][1000000];
int count = 0;
int num1[100][1];
void  main() {
    int flag = 0, flag1;
    while (flag == 0)
    {
        printf("欢迎进入黄金点游戏\n");
        int i, a, j;
        int num[1000], sum = 0, l, m, G, num2[1000], num3[100], num4[100], t;
        printf("请输入本轮参加游戏的人数\n");
        scanf("%d", &a);//玩家人数
        for (i = 0; i < a; i++)//输入各个玩家的数据
        {
            printf("请第%d成员输入数据",i+1);
            scanf("%d", &num[i]);
            if (num[i]<0)
            {
                exit(0);
            }
            else
            {
                if (num[i]>100)
                {
                    exit(0);
                }
            }
        }
        for (i = 0; i < a; i++)
        {
            l = num[i];
            sum = sum + l;
        }
        G = (int)(sum / a*0.618);//G值
        for (i = 0; i < a; i++)
        {
            l = abs(num[i]-G);
            num2[i] = l;
            num3[i] = l;
        }
        for (i = 1; i < a; i++)//冒泡排序
        {
            for (j = 0; j < a - 1; j++)
            {
                if (num3[j] > num3[j + 1])
                {
                    t = num3[j];
                    num3[j] = num3[j + 1];
                    num3[j + 1] = t;
                }
            }
        }
        for (i = 0; i < a; i++)//num4=0
        {
            num4[i] = 0;
        }
        for (i = 0; i < a; i++)
        {
            l = num3[0], m = num3[a - 1];
            if (num2[i] == l)
            {
                num4[i] = a;
            }
            if (num2[i] == m)
            {
                num4[i] = -2;
            }
        }
 
        for (i = 0; i < a; i++)//输出各个玩家的信息
        {
            printf("第%d个成员的成绩为%d\n",i+1, num4[i]);
        }
        for (i = 0; i < a; i++)
        {
            result[count][i] = num4[i];
        }
        num1[count][0] = a;
        count++;
        printf("是否还想继续,是请按0,否请按任意键退出游戏");
        scanf("%d", &flag);
    }
    int n, i;
    printf("请问是否想查看之前的成绩,是请输入0,否按任意键退出\n");
    scanf("%d", &flag1);
    while (flag1 == 0)//查看各轮结果的比赛成绩
    {
        printf("请输入想查看的第几轮成绩");
        scanf("%d", &n);
        for (i = 0; i<num1[n - 1][0]; i++)
        {
            printf("第%d个成员的成绩为%d\n",i+1, result[n - 1][i]);
        }
        printf("是否还要继续观看,是请输入0,否按任意键退出\n");
        scanf("%d", &flag1);
    }
    system("pause");
}
 
来自http://www.cnblogs.com/b6772x33a/p/5372344.html   kinny

结对项目--黄金点游戏(邓乐&曾亮)的更多相关文章

  1. 结对编程—黄金点游戏WinForm单机版

    本小游戏场景来自邹欣老师的<移山之道>一书: "阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫"黄金点"的游戏: ...

  2. 黄金点游戏 结队i项目

    结对编程——黄金点游戏   本次的结对编程的项目是黄金点游戏,我的结对对象是冯雨倩,我们的编程能力都不太好,而且都对C语言更熟悉些,因此我们决定用C语言来实现. (1)分工:角色分配:冯雨倩是领航员, ...

  3. 结对项目——黄金分割点游戏(陈香宇&蔡春燕)

    结对项目名称:黄金分割点游戏(单机) 运行环境:vs 编译语言:c语言 项目分析: 实现的功能:用户可以选择继续游戏并且可以保存之前获得的分数,但是为了游戏的公平性,游戏的参数人数一开始用户确定以后就 ...

  4. 软件工程 in MSRA 黄金点游戏-第一次结对编程

    简单介绍 第一次结对编程,邹欣老师选择了一个博弈游戏作为题目.博弈论是一门非常有趣的学科.之前竞赛时接触的博弈论大部分都是存在均衡点/必胜策略的.像这次这种多人参与,没有完美策略,你方唱罢我登台的游戏 ...

  5. 黄金点游戏(js+css)

    一.项目描述:黄金点游戏 黄金点游戏是一个数字小游戏,其游戏规则是: N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0 ...

  6. Python Web实战 - 基于Flask实现的黄金点游戏

    一.简介 团队成员: 领航者:张旭 驾驶员:张国庆 项目简介: 项目名称:基于B/S模式的黄金点游戏 采用技术: 后端:Python + Sqlite3 前端:HTML + CSS + JS + Bo ...

  7. [2017BUAA软工助教]结对项目小结

    2017BUAA结对项目小结 一.作业链接 http://www.cnblogs.com/jiel/p/7604111.html 二.评分细则 1.注意事项 按时间完成并提交--正常评分 晚交一周以内 ...

  8. [buaa-SE-2017]结对项目-数独程序扩展

    结对项目-数独程序扩展 step1~step3:github:SE-Sudoku-Pair-master step4:github:SE-Sudoku-Pair-dev-combine step5:g ...

  9. [2017BUAA软工]结对项目:数独扩展

    结对项目:数独扩展 1. Github项目地址 https://github.com/Slontia/Sudoku2 2. PSP估计表格 3. 关于Information Hiding, Inter ...

随机推荐

  1. 浅谈cookie 和session 的区别

    具体来说 cookie 是保存在“客户端”的,而session是保存在“服务端”的 cookie 是通过扩展http协议实现的 cookie 主要包括 :名字,值,过期时间,路径和域: 如果cooki ...

  2. FOUNDATION OF ASYNCHRONOUS PROGRAMMING

    The async and await keywords are just a compiler feature. The compiler creates code by using the Tas ...

  3. android8 Notification

     界面Layout:  customnotice.xml <?xml version="1.0" encoding="utf-8"?> <Li ...

  4. 一场由过滤器Filter引发的血案

    一场由过滤器Filter引发的血案 事件起因 本来应该是下图的登录界面 变成了这样 What's the fuck????? 抓狂 原因 解决方法: 在过滤器中给资源文件开个绿色通道

  5. [原创]java读写word文档,完美解决方案

    做项目的过程中,经常需要把数据里里的数据读出来,经过加工,以word格式输出. 在网上找了很多解决方案都不太理想,偶尔发现了PageOffice,一个国产的Office插件,开发调用非常简单!比网上介 ...

  6. Masonry 比例(multipliedBy)

    前言 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万 ...

  7. 七.OC基础加强--1.内存管理 2.野指针,内存泄露 3.set方法的内存管理 4.@property参数 5.@class和循环retain的使用 6.NSString的内存管理

    1,内存管理简单介绍 1,为什么要有内存管理? malloc selloc dealloc```需要回头复习 一般的内存 4s 是512m内存:6 是1024m内存: 当内存过大时,会耗尽内存.出现程 ...

  8. 1.import和include区别 2.NSLog 和printf区别 3.创建对象做的事情 4. 类和对象方法比较 5 匿名对象优缺点 6. 封装 7.作用域范围 8.id和instancetype 9.自定义构造方法规范 10.nil和Nil及NULL、NSNull区别

    1.import和include的区别: import可以防止头文件的重复包含 2.NSLog 和printf的区别: 1,NSLog可以自动换行, 输出调试信息, printf不能. 2,NSLog ...

  9. Linux网络协议栈(四)——链路层(1)

    1.接收帧当网络适配器接收到数据帧时,就会触发一个中断,中断处理程序执行一些需要及时处理的任务,然后在下半部进行其它可以延迟的处理.中断处理程序主要进行以下一些操作:(1)    分配sk_buff数 ...

  10. [学习笔记]dsu on a tree(如何远离线段树合并)

    https://www.zybuluo.com/ysner/note/1318613 背景 这玩意来源于一种有局限性的算法. 有一种广为人知的,树上离线维护子树信息的做法. (可以参照luogu360 ...