例5.4

时间:2022-08-01 10:22:11 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

#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