#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. Pulse-code modulation

    脉冲编码调制(Pulse Code Modulation,PCM),由A.里弗斯于1937年提出的,这一概念为数字通信奠定了基础,60年代它开始应用于市内电话网以扩充容量,使已有音频电缆的大部分芯线的 ...

  2. YTU 2858: 编程题AB-骨牌铺方格

    2858: 编程题AB-骨牌铺方格 时间限制: 1 Sec  内存限制: 128 MB 提交: 87  解决: 23 题目描述 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出 ...

  3. 并不对劲的bzoj5340:loj2552:uoj399:p4564: [Ctsc2018]假面

    题目大意 有\(n\)(\(n\leq200\))个非负整数\(m_1,m_2,...,m_n\)(\(\forall i\in[1,n],m_i\leq100\)),有\(q\)(\(q\leq2* ...

  4. 字符设备驱动另一种写法—mmap方法操作LED

    最近在看韦老师的视频,讲解了很多种字符设备的驱动写法.经过自己的研究之后,我发现还有另外一种写法,直接在应用层操作,省去了内核中的地址映射部分,使得用户可以在应用层直接操作LED.        mm ...

  5. java翻译lua+c+openssl签名项目

    原来项目中用openresty nginx+lua实现server,lua调用c动态链接库,来使用openss做签名,并生成130字节(128签名+2位自定义字节)长度的文件. nginx: loca ...

  6. python 面向对象一 OOP

    一.面向对象和面相过程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面 ...

  7. bzoj 2245 [SDOI2011]工作安排【最小费用最大流】

    其实不用拆点,对于每个人我们假装他是\( s[i]+1 \)个点,可以由他向T点分别连\( s[i]+1 \)条边,容量为\( t[i][j]-t[i][j-1]\),由S点向所有产品i连容量为c[i ...

  8. 软件常用版本英文snapshot和ga

    版本号,顾名思义,系统.架包.软件的标识号.版本号的数字信息通俗易懂, 格式:主版本号+次版本+(修正版本号build-可选)+(编译版本号-可选)+英文常见号(重点). 常见号:英文各种架包名,Ma ...

  9. linux 重名名、删除文件操作

    linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 删除文件夹 r ...

  10. [Usaco2012 Open]Balanced Cow Subsets

    Description Farmer John's owns N cows (2 <= N <= 20), where cow i produces M(i) units of milk ...