提高篇第二十一讲——工资排序

来源:互联网 发布:网络拓扑图绘制 编辑:程序博客网 时间:2024/06/06 23:17

问题描述:

【项目4-工资的排序】
从文件salary.txt中读入工人的工资(不超过500人),全部增加20%(好事),然后对工资数据进行排序,将排序后的结果保存到文件ordered_salary.txt中。
做完打开文件看看结果,玩这么多数据于股掌之间,相信你会有成就感的。

程序代码:

#include <stdio.h>#include <stdlib.h>/**csdn学院--2016级*目的:让代码见证成长(作为一个初学的菜鸟,如*大家有发现错误,欢迎指正!)*文件名称:Myfun164.c*问题描述:【项目4-工资的排序】从文件salary.txt中读入工人的工资(不超过500人)*全部增加20%(好事),然后对工资数据进行排序,*将排序后的结果保存到文件ordered_salary.txt中。*作者:小臣小仁*完成日期:2017年7月14日*/int main(){    int i,j;    double rep,salary[500];    FILE *fpin,*fpout;    if((fpin=fopen("salary.txt","r"))==NULL)    {        printf("salary file open error!\n");        exit(1);    }    if((fpout=fopen("ordered_salary.txt","w"))==NULL)    {        printf("cannot write to file!!\n");        exit(1);    }    int n=0;    while(fscanf(fpin,"%lf",&salary[n])!=EOF)    {        salary[n]*=1.2;        n++;    }    fclose(fpin);    for(i=0;i<n-1;i++)        for(j=0;j<n-i-1;j++)            if(salary[j]>salary[j+1])            {                rep=salary[j];                salary[j]=salary[j+1];                salary[j+1]=rep;            }    for(i=0;i<n;i++)    {        fprintf(fpout,"%.2lf\t",salary[i]);    }    fclose(fpout);    printf("存档成功!\n");    return 0;}


输出结果:

salary.txt文档


ordered_salary.txt文档


心得体会:
              作为一个大学二的菜鸟,开始慢慢前进,多多少少感到有收获,由于水平有限,多多少少有错,望包涵