满意答案
xudaohe
2013.06.26
采纳率:58% 等级:11
已帮助:13079人
#include
#include
#include
int main(int argc, char* argv[])
{
inti, j;
inta[20][8], score[20], id[20];
intmax, min;
srand(time(NULL));
for (i = 0; i < 20; i++)
{
id[i] = i + 1;
score[i] = 0;
max = 0;
min = 10;
printf("比赛ID ", i + 1);
for (j = 0; j < 8; j++)
{
a[i][j] = rand() % 10 + 1; /* 打分 */
score[i] += a[i][j];/* 将所有分数累加 */
printf("%d ", a[i][j]);
if (a[i][j] > max)
max = a[i][j];/* 找最大 */
else if (a[i][j] < min)
min = a[i][j];/* 找最小 */
}
printf("\n");
score[i] -= (max + min);/* 减去最小,最大 */
}
int temp = 0, temp1 = 0;;
for (i = 0; i < 20; i++)
{
for (j = i; j < 20; j++)
{
if (score[i] < score[j])
{
temp = score[i]; score[i] = score[j]; score[j] = temp;
temp1 = id[i]; id[i] = id[j]; id[j] = temp1;
}
}
}
printf("------------------------------------\n");
printf("前八名是:\n");
for (i = 0; i < 8; i++)
{
printf(" ", id[i]);
}
printf("\n");
return 0;
}
00分享举报