當前位置:編程學習大全網 - 編程語言 - C語言,用隨機函數生成100個考試分數

C語言,用隨機函數生成100個考試分數

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

}

  • 上一篇:養老院90旬老人因瑣事殺害81歲老太,這年齡段還會量刑嗎?
  • 下一篇:如何高效自學編程
  • copyright 2024編程學習大全網