|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- /*
- 程序用途:
- 设有10个学生的考试成绩,分数为0-10分,请输入每个学生的成绩,并把成绩按从高到低的顺序排序。
- 使用算法:
- 桶排序。
- */
- #include <stdio.h>
- #include <stdlib.h>
- #define STUDENTSNUM 10
- int main(void)
- {
- int students[10];
- int scores[11] = {0,0,0,0,0,0,0,0,0,0,0};
- int i,j, score;
- printf("请依次输入10个学生的成绩(最低分数为0分,最高分数为10分):");
- for (i = 0; i < STUDENTSNUM; i++)
- {
- scanf("%d", &score);
- if (score>10 || score < 0)
- {
- printf("成绩输入错误,请重新输入");
- if (i>0)
- i--;
- }
- else
- {
- students[i] = score;
- }
- }
- for (i = 0; i<STUDENTSNUM;i++)
- {
- j = students[i];
- scores[j]++;
- }
- printf("\n排序后的结果:\n")
- for (i = 10; i >0;i--)
- {
- for (j = 1; j <= scores[i]; j++)
- {
- printf("%d ", i);
- }
- }
- system("PAUSE");
- return 0;
- }
复制代码
|
|