名言,寓意是什么意思::C语言编程, 带注释

来源:百度文库 编辑:高校问答 时间:2024/04/30 22:43:18
10个选手6个评委对他们评比
每个选手得分去掉最高分和最底分各一个
最后得分委剩下分数的平均分
求:每位选手最后得分

#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;
}