#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[j+1];
Top10[j+1] = temp;
j--;
}
}
}
/*輸出結果*/
char OutputResult(int *Top10)
{
int i, sum = 0;
for (i = 0; i < 10; i++)
{
sum += Top10[i];
}
char r;
int average = sum / 10;
if (average >= 90)
{
r = 'A';
}
else if (average >= 80)
{
r = 'B';
}
else if (average >= 70)
{
r = 'C';
}
else if (average >= 60)
{
r = 'D';
}
else
{
r = 'F';
}
return r;
}
int main()
{
int a[100];
int top10[11];
GenerateScore(a);
GetTop10(a, top10);
printf("The result is: %c\n", OutputResult(top10));
return 0;
}