C语言 交换法排序
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#define ARR_SIZE 40
int main()
{
float score[ARR_SIZE],temp1;
int n,i,j;
long num[ARR_SIZE],temp2;
printf("Please enter total number:");
scanf("%d",&n); /*从键盘输入学生人数n*/
for(i=0;i { scanf("%ld%f",&num[i],&score[i]); } /*用交换法按成绩由高到低对学生成绩及学好重新排列*/ for(i=0;i { for(j=i+1;j { if(score[j]>score[i]) /*按成绩由高到低排序*/ { /*交换成绩*/ temp1=score[j]; score[j]=score[i]; score[i]=temp1; /*交换学号*/ temp2=num[j]; num[j]=num[i]; num[i]=temp2; }/*if结束*/ }/*内层for循环结束*/ }/*外层for循环结束*/ printf("Sorted results:\n"); for(i=0;i { printf("%d\t%4.0f\n",num[i],score[i]); } }