1. 程式人生 > >組隊項目——黃金點(葉雨&王浩)

組隊項目——黃金點(葉雨&王浩)

規則 pla abs 至少 相同 6.0 輸入 自己 沒有

代碼來源:自己編寫

運行環境:win10

編譯軟件:VC++6.0

使用語言:C語言

功能:可多次運行,由用戶決定退出與否,可以記錄玩家的姓名與分數並顯示。

BUG:暫未發現

GitHub地址:https://github.com/yeershao/hello-world/blob/master/GOLDPOINTS

心得體會:提高了對C的認知和了解,在組隊中我認識到自己還有很多知識沒學好,最基本的知識點沒有理清楚,而且許多東西要經過翻書,上網查閱,搜索。我也清楚的了解到了共同合作的好處:互相探討不足與優點。

#include "stdio.h"
#include "math.h"
void main()
{
int i,j;
int m,w=0,l=0;
float GP,min,max,sum=0;
float a[10];
char p;

struct player
{
char name[20];
int num;
int score;
};
struct player pla[10];

printf(" 歡迎參加黃金點遊戲 \n");
printf("遊戲規則:\n至少兩人參與,至多十人參與\n每個人輸入的數值不能相同\n");

do
{
for(i=0;i<10;i++)
{
pla[i].score=0;
}
printf("請輸入參與遊戲的人數\n");
scanf("%d",&j);

pd: if(j<2||j>10)
{
printf("輸入錯誤,請重新輸入\n");
scanf("%d",&j);
goto pd;
}

for(i=0;i<j;i++)
{
printf("請輸入玩家%d的姓名\n",i+1);
scanf("%s",&pla[i].name);
printf("請輸入玩家%d的數值\n",i+1);
scanf("%d",&pla[i].num);
}

for(m=0;m<j;m++)
{
sum=sum+pla[m].num;
}
GP=(sum/j)*0.618;

for(m=0;m<j;m++)
{
a[m]=fabs(pla[m].num-GP);
}

for(m=0;m<j;m++)
{
if(m==0)
{
min=a[0];
max=a[0];
}
if(a[m]>max)
{
max=a[m];
l=m;
}
if(a[m]<min)
{
min=a[m];
w=m;
}
}

for(i=0;i<j;i++)
{
if(i==l)
pla[i].score=pla[i].score-1;
if(i==w)
pla[i].score=pla[i].score+2;
}
printf("本局遊戲的贏家是:%s\n",pla[w].name);
printf("本局遊戲的輸家是:%s\n",pla[l].name);
printf("本局遊戲結束玩家得分情況為:\n");
for(i=0;i<j;i++)
{
printf("%s %d\n",pla[i].name,pla[i].score);
}

printf("如果要繼續遊戲請輸入1,輸入任意字符退出\n");
scanf("%s",&p);
}while(p==‘1‘);
}

組隊項目——黃金點(葉雨&王浩)