问题描述:
【项目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文档
心得体会:
作为一个大学二的菜鸟,开始慢慢前进,多多少少感到有收获,由于水平有限,多多少少有错,望包涵