• 结对项目----c语言黄金点游戏


        游戏规则: N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),
    交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。
    提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分。
    玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。
    经过不断的努力,由于能力不足,只能写出这样的代码,此代码还有一点瑕疵。
    #include<stdio.h> #include<stdlib.h> #include<string.h> int point() { int i,j,k,M,N; int max = 0, min = 0; int m[100], n[100]; double average, G,sum = 0.0; int score[100]; printf("欢迎来到黄金点游戏! "); printf("请输入游戏轮数: "); scanf_s("%d", &M); printf("请输入游戏人数: "); scanf_s("%d", &N); memset(score,0,sizeof(int)*N); for (i = 0; i < M; i++) { printf(" 第%d轮游戏: ",i+1); for (j = 0; j < N; j++) { printf("请输入一个0-100的数: "); scanf_s("%d",&m[j]); sum = sum + m[j]; average = sum/N; G = average*0.618; n[j] = m[j] - G; n[j]=(n[j]>0) ? n[j] : n[j]*(-1); max=(n[j]<n[max]) ? max:j; min=(n[j]<n[min]) ? j:min; } //printf(" %d ",max); //printf("%d ",min); score[max]-=2; score[min]+=2; for(k=0;k<N;k++) { printf("第%d人本轮后总分数为%d: ",k+1,score[k]); } sum = 0; printf("黄金点是%f", G); max=0; min=0; } return 0; } int main() { point(); system("pause"); }
    游戏源码已上传GitHub: https://github.com/sacfwe/GoldGame
    注:本博客为原创,转载请申明

      

  • 相关阅读:
    第一轮冲刺团队评分
    意见汇总
    各组对我组的评价
    对各项目评价建议
    【每日Scrum】第十天冲刺
    【每日Scrum】第九天冲刺
    SQL-插入的方法
    Random
    基本测试理论
    web项目工作流程
  • 原文地址:https://www.cnblogs.com/qiangzai/p/7601986.html
Copyright © 2020-2023  润新知