冒泡排序实现C语言成绩排名

📅 发布时间:2026/7/3 10:48:36 👁️ 浏览次数:
冒泡排序实现C语言成绩排名
自定义一个函数可以实现冒泡排序将10名同学的C语言成绩从小到大输出#include stdio.hvoid f1(float scores[],int n){printf(排序后的C语言成绩从小到大\n);for(int i0;i n ;i){printf(第%d名:%.1f分\n,i1,scores[i]);if((i1) % 5 0) printf(\n);}}void f2(float scores[],int n){for(int i0;i n -1;i){for(int j0;jn -i -1;j){if(scores[j] scores[j1]){float t;t scores[j];scores[j] scores[j1];scores[j1] t;}}}}void f3(float scores[],int n){f2(scores,n);f1(scores,n);}int main(){float scores[10];int n 10;printf(请输入10名同学的C语言成绩\n);for(int i0;i10;i) scanf(%f,scores[i]);f3(scores,n);return 0;}f2 函数冒泡排序 (Bubble Sort)void f2(float scores[],int n){for(int i0;i n -1;i){for(int j0;jn -i -1;j){if(scores[j] scores[j1]){float t;t scores[j];scores[j] scores[j1];scores[j1] t;}}}}作用将数组scores中的元素按从小到大的顺序排列。原理每一轮都将当前未排序部分中最大的元素“冒泡”到末尾。f1 函数格式化输出void f1(float scores[],int n){printf(排序后的C语言成绩从小到大\n);for(int i0;i n ;i){printf(第%d名:%.1f分\n,i1,scores[i]);if((i1) % 5 0) printf(\n);}}作用遍历数组并打印成绩。细节%.1f表示浮点数保留一位小数if((i1) % 5 0)实现了每行显示5个数据的功能。