/*从键盘输入某班学生某门课程的成绩,
(假设每班人数最多不超过40人),当输入成绩为负值时,表示输入结束
试编程将分数从高到低排序。用函数功能实现排序功能*/
#include<stdio.h>
#define N 40
int readscore(int score[]);/*readscore()函数原型*/
void datasort(int score[],int n);/*datasort()函数原型*/
void printscore(int score[],int n);/*printfscore()函数原型*/
/*以上这么写的目的是:语法规则*/
main()
{ int score[N],n;
n=readscore(score);/*调用函数readscore()输入成绩,返回学生人数*/
printf("总学生数是:%d\n",n);
datasort(score,n);/*调用函数datascore()进行成绩排序*/
printf("成绩分数:");
printscore(score,n);/*调用函数printscore()输出成绩排序结果*/
return 0;
}
/*函数功能:输入学生某门课的成绩,当输入成绩为负值时,结束输入,返回学生人数*/
int readscore(int score[])/*readscore()函数定义*/
{ int i=-1;/*i初始化为-1,可保证循环体内i增1后数组下标从0开始*/
do{
i++;
printf("请输入成绩:");
scanf("%d",&score[i]);
} while(score[i]>=0);/*输入负值时结束输入*/
return i;/*返回学生人数*/
}
/*函数功能:按交换法将数组score的元素排序*/
void datasort(int score[],int n)/*datascort()函数定义*/
{ int i,j,temp;
for(i=0;i<n-1;i++)
{ for(j=i+1;j<n;j++)
{ if(score[j]>score[i])/*按数组score的元素值从高到低排序*/
{ temp=score[j];
score[j]=score[i];
score[i]=temp;
}
}
}
}
/*函数功能:打印学生成绩*/
void printscore(int score[],int n)/*printfscore()函数定义*/
{ int i;
for(i=0;i<n;i++)
{ printf("%4d",score[i]);
}
printf("\n");
}
从键盘输入某班学生某门课程的成绩, (假设每班人数最多不超过40人),当输入成绩为负值时,表示输入结束 试编程将分数从高到低排序。用函数功能实现排序功能
猜你喜欢
转载自blog.csdn.net/YJG7D314/article/details/89077790
今日推荐
周排行