C语言编程, 带注释

10个选手6个评委对他们评比每个选手得分去掉最高分和最底分各一个最后得分委剩下分数的平均分求:每位选手最后得分... 10个选手6个评委对他们评比
每个选手得分去掉最高分和最底分各一个
最后得分委剩下分数的平均分
求:每位选手最后得分
展开
 我来答
moxsone
2006-02-27 · TA获得超过3332个赞
知道大有可为答主
回答量:2796
采纳率:50%
帮助的人:1500万
展开全部
#include <stdio.h>
#include <stdlib.h>

/*定义选手的结构体*/
struct xs{
/*选手的最后得分*/
int result;
/*各位评委的打分*/
int score[6];
};

/*随机初始化一个选手的数据*/
int rand_init(struct xs * axs)
{
int i;

/*将选手最后得分置为0*/
axs->result=0;
/*给评委的分随机赋值*/
for(i=0;i<6;i++)
{
axs->score[i]=rand()%100;
}

return 0;
}

/*计算一个选手的成绩*/
int compute_cj(struct xs * axs)
{
int i;
int position_zg=0;
int position_zd=0;

/*寻找最高分将其置为0,即去掉*/
for(i=1;i<6;i++)
{
if(axs->score[i]>axs->score[position_zg])
{
position_zg=i;
}
}

/*寻找最低分将其置为0,即去掉*/
for(i=1;i<6;i++)
{
if(axs->score[i]<axs->score[position_zd])
{
position_zd=i;
}
}

axs->score[position_zg]=0;
axs->score[position_zd]=0;

/*计算平均成绩*/
for(i=0;i<6;i++)
{
axs->result=axs->result+axs->score[i];
}
axs->result=axs->result/4;

return 0;
}

/*输出一个选手的最后成绩*/
int _print1(struct xs * axs)
{
printf("该选手的成绩为:[%d]\n",axs->result);
return 0;
}

/*输出六个评委给一个选手打的分*/
int _print2(struct xs * axs)
{
int i;

printf("评委打分为:");
for(i=0;i<6;i++)
{
printf("[%d]",axs->score[i]);
}
printf("\n");

return 0;
}

int main(void)
{
struct xs aaa[10];
int i;

/*初始化各个选手的数据并输出*/
for(i=0;i<10;i++)
{
printf("\n*********************第[%d]个选手******************\n",i);
rand_init(&aaa[i]);/*初始化*/
_print2(&aaa[i]);/*输出打分情况*/
compute_cj(&aaa[i]);/*计算*/
_print2(&aaa[i]);/*输出打分情况*/
_print1(&aaa[i]);/*输出最后成绩*/
printf("***************************************************\n");
}

return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式