C语言提高-第21讲: 首尝排序——冒个泡(工资的排序)
来源:互联网 发布:监控设备域名 编辑:程序博客网 时间:2024/06/04 19:36
任务和代码:
/* *All rights reserved *文件名称:main.c *作者: Osseyda 完成日期:2017.10.20 *版本号:v2. *问题描述:从文件salary.txt中读入工人的工资(不超过500人),全部增加20%(好事),然后对工资数据进行排序,将排序后的结果保存到文件ordered_salary.txt中。*/ #include <stdio.h>#include <stdlib.h>int main(){ FILE *fp; int n=0,i,j; double a[500],t; //将数据从文件读入数组,并将原数组元素扩大1.2倍 if((fp=fopen("salary1.txt","r"))==NULL){ printf("data cannot be opened"); exit(0); } while(fscanf(fp,"%lf",&a[n])!=EOF){//共n个数据 a[n]*=1.2; n++; } fclose(fp); //冒泡法排序数组元素 for(i=0;i<n-1;i++){ for(j=0;j<n-i-1;j++){ if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } //将数据保存到文件 if((fp=fopen("order_salary.txt","w"))==NULL){ printf("order_salary cannot be opened"); exit(0); } for(i=0;i<n;i++) fprintf(fp,"%f",a[i]); fclose(fp); printf("work's done!");}salary1.txt
知识点总结:
从文件中读取多个数据放入数组中;冒泡法排序;将数组中的数据保存到文件中
心得:
这道题的感受是,原先用了一样的思路,order_salary.txt中始终出不来数据,找了半天的错误也没找到。重新编程又成功了
知道为什么了!在保存数据到文件的时候
if((fp=fopen("order_salary.txt","w"))==NULL)写成了
if(fp=(fopen("order_salary.txt","w"))==NULL)下次不会犯了!
阅读全文
0 0
- C语言提高-第21讲: 首尝排序——冒个泡(工资的排序)
- 第4章 C语言及程序设计提高例程-21 首尝排序——冒个泡
- 提高篇第二十一讲——工资排序
- 第14周 《C语言及程序设计》实践参考——工资的排序
- 提高第21课时,实践4,工资的排序
- C语言及程序设计提高例程-21 首尝排序——冒个泡
- C语言提高-第26/27讲: 实现线性表基本操作的函数/编写查找和排序函数
- 《C语言及程序设计》实践参考——工资的排序
- 提高项目20-工资的排序
- C语言提高-第20讲: 经典:查找的艺术(有几个)
- C语言提高-第20讲: 经典:查找的艺术(有序数组中插入数据)
- C语言初步-第7讲:分支结构体验(发工资)
- C语言提高-27讲: 编写查找和排序函数(查成绩)
- C语言—链表的排序
- C语言提高-第17讲: 一维数组的定义和引用(数组大折腾)
- C语言排序(一)——冒泡排序
- #笔记#圣思园 JavaSE 第35讲——冒泡排序、交换排序、快速排序、二分查找
- C语言提高-第5讲: 函数的参数(求4数最大公约数)
- vue ajax请求数据不更新 解决方案
- mysql sql left right inner join区别及效率比较
- 关于使用kafka的个人总结
- redis 配置--翻译
- 禁止Chrome浏览器缓存
- C语言提高-第21讲: 首尝排序——冒个泡(工资的排序)
- Java中,字符串在不同编码格式下所占字节数
- priority_queue C++
- ubuntu17.04下搭建LNMP
- Linux系统下安装启动ssh服务
- 安装好MySQL之后的操作步骤及建表命令
- mongodb_修改器($inc/$set/$unset/$push/$pop/upsert......)
- BlockingQueue介绍
- windows 安装lua-5.3.4