C语言,用随机函数生成100个考试分数

来源:百度知道 编辑:UC知道 时间:2024/05/13 11:22:39
C语言,用随机函数生成100个考试分数,要求每个分数的范围是45~95分;取前10名好成绩计算平均分;若平均分达到或超过90输出“A”,介于80~89之间输出“B”,70~79之间为“C”,60~69之间为“D”,小于60则输出“F”

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>

void GenerateScore(int scoreArray[100])
{
int i;
srand((unsigned)time(NULL));
for (i = 0; i < 100; i++)
{
scoreArray[i] = rand() % 51 + 45;
}
}

void GetTop10(int scoreArray[100], int *Top10)
{
int i, j;
int temp;
/* 先让Top10为数组的前10个,并排序 */
memcpy(Top10, scoreArray, 10 * sizeof(int));
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10-1-i; j++)
{
if (Top10[j] < Top10[j+1])
{
temp = Top10[j];
Top10[j] = Top10[j+1];
Top10[j+1] = temp;
}
}
}

/*再从后面的90个中,把比前10大的放到前10中*/
for (i = 10; i < 100; i++)
{
Top10[10] = scoreArray[i];
j = 9;
while (j >= 0 && Top10[j] < Top10[j+1])
{
temp = Top10[j];
Top10[j] = Top10[