《C语言及程序设计》实践项目——动态数组 ->【项目2-动态数组排序】
来源:互联网 发布:数据分析师需要考证吗 编辑:程序博客网 时间:2024/06/05 03:52
2017-04-30
编一个程序,输入某班某门课的成绩,进行排序后输出。成绩可能为小数。班级人数不定,要求采用动态数组完成。
//项目2-动态数组排序#include<stdio.h>#include<malloc.h>//数组打印函数void Print(float *x, int N){ int i, j; for(i=0, j=1; i<N; i++, j++) { printf("student %d = %.2f\n", j, x[i]); } printf("\n");}//冒泡排序函数void Bubble_Sort(float *x, int N){ int i, j; float t=0; for(i=0; i<N-1; i++) { for(j=0; j<N-1-i; j++) { if(x[j] > x[j+1]) { t = x[j]; x[j] = x[j+1]; x[j+1] = t; } } }}//判断数据的大小顺序void Judgment_order(float *x, int N){ int i, flag=0; for(i=0; i<N; i++) { if(x[i] > x[i+1])//判断数据是否从小到大排序顺序 flag = 1; } if(1==flag)//如果原始数据不是从小到大排序。则进行排序操作 { Bubble_Sort(x, N);//调用冒泡排序函数 printf("after:\n"); printf("排序后的成绩\n"); Print(x, N);//输出排序后的成绩 } if(0==flag)//如果原始数据是从小到大排序。则直接输出原始数据 { printf("排序后的成绩\n"); Print(x, N);//输出排序后的成绩 }}int main(){ int count, i,j; float *pf = NULL; //输入班级人数 printf("输入班级人数:\n"); scanf("%d", &count); //分配空间,用动态数组存储全班同学成绩 pf = (float *)malloc(count * sizeof(float)); //输入同学们的成绩 printf("输入同学们的成绩:\n"); for(i=0, j=1; i<count; i++, j++) { printf("学生 %d成绩:", j); scanf("%f", &pf[i]); } //排序 Judgment_order(pf, count); free(pf); return 0;}
0 0
- 《C语言及程序设计》实践项目——动态数组 ->【项目2-动态数组排序】
- 《C语言及程序设计》实践项目——动态数组
- 《C语言及程序设计》实践项目——动态数组 ->【项目3-为动态数组扩容】
- 《C语言及程序设计》实践项目——动态数组 ->【项目1-学生人数没个准】
- 《C语言及程序设计》实践参考——动态数组排序
- 《C语言及程序设计》实践项目——二维数组
- 《C语言及程序设计》实践项目——字符串数组
- 第四周《C语言及程序设计》实践项目39 动态存储管理与动态数组的实现
- 《C语言及程序设计》实践参考——为动态数组扩容
- 《C语言及程序设计》实践项目——一维数组初步
- 《C语言及程序设计》实践项目——数组与指针
- 《C语言及程序设计》实践项目——数组与函数应用
- 《C语言及程序设计》实践项目——字符数组与字符串处理
- 《C语言及程序设计》实践项目——二维数组与指针
- 第14周 《C语言及程序设计》实践项目——数组与指针
- 《C语言及程序设计》实践参考——数组的排序
- 《C语言及程序设计》实践参考——翻转数组
- 第四周《C语言及程序设计》实践项目16 数组的引入
- java中讲讲BufferedInputStream的用法,举例?
- Android原生分享功能的思考与实现
- Servlet返回中文
- 【leetcode】word-break-ii
- HDU1429 胜利大逃亡(续)(状态压缩+广搜BFS )
- 《C语言及程序设计》实践项目——动态数组 ->【项目2-动态数组排序】
- 动态规划——背包问题(一)
- loss function 的简单理解
- PAT 1002 乙等 (写出这个数)c++
- Pytorch学习入门(二)--- Autograd
- 深度学习之AlexNet解读
- ERROE
- Android-原生系统分享小记
- Linux下的常用命令(三)