#include <stdio.h>
main()
{
int n,i,j,k=0;
float temp,c[100];
/* 输入待排序的成绩的个数及要排序的成绩*/
printf("请输入学生的人数:\n ");
scanf("%d",&n);
printf("请输入学生的成绩:\n");
for(i=0;i<n;i++) scanf("%f",&c[i]);
/* 进行冒泡排序*/
for(i=1;i<n;i++) /*控制排序趟数n-1趟*/
{for(j=0;j<n-i;j++) /*控制每趟的比较次数n-i趟*/
if(c[j]>c[j+1]){temp=c[j];c[j]=c[j+1];c[j+1]=temp;k=1;}
}/*若为逆序则交换,k值为1则表示一趟排序至少有一次交换,否则终止下一趟排序*/
if(k==0) break;}
/*输出排好序的成绩*/
printf("排序结果为:\n");
for(i=0;i<n;i++) printf("%6.1f",c[i]);
}
本文来源:https://www.wddqw.com/doc/3aa54f12f58a6529647d27284b73f242336c3126.html