C语言,帮我下,我这里不明白

来源:百度知道 编辑:UC知道 时间:2024/06/20 08:53:39
#include <stdio.h>
struct player
{
int sort;
int score[5];
int scoresum;
}player[9];
void fun(struct player player[],int n);
void main()
{
int i,j,n;

n=0;
while(n<=1||n>=10)
{
printf("输入参赛人数(2-9):");
scanf("%d",&n);
}
for (i=0;i<n;i++)
{
int high=0,low=6;
player[i].scoresum=0;
player[i].sort=i+1;
printf("请输入%d号选手的得分:",player[i].sort);
for (j=0;j<5;j++)
{
scanf("%d",&player[i].score[j]);
player[i].scoresum=player[i].score[j]+ player[i].scoresum;//每位选手最后的得分之和
}
for (j=0;j<5;j++)
{
if (high<player[i].score[j])
high=player[i].score[j];
}
for (j=0;j<5;j++)
{
if (low>player[i].score[j])
low=player[i].score[

while里写n<=1||n>=10是因为如果n不在2和9的范围中的话要重新输入。

score的分数是1到5,所以high初始为0,碰到比它高的,就赋上这个高的值,循环完毕,high的值就是分数中最高的。同理,low也是。
这样,最高分high和最低分low就知道了~~

while(n<=1||n>=10)
//当n满足n<=1||n>=10时执行循环体,不满足时即i在1-10之间就跳出

int high=0,low=6;
//初始化变量,使最高分为0,最低分为6,然后与选手得分逐个比较,当发现有比high高的时就把该值赋给high,发现有比low低的时就把该值赋给low,所以最后才能得到最高分和最低分