您的位置:首页 > 其它

提高第21课时,实践4,工资的排序

2015-05-12 13:46 295 查看
/*
*Copyright(c) 2015/5/11 CSDN博客
*All rights reserved.
*文件名称:main.c
*作    者:金叶
*完成日期:2015/5/11
*版本号:V1.0
*问题描述:项目4-工资的排序
*程序输出:从文件salary.txt中读入工人的工资(不超过500人),全部增加20%(好事),然后对工资数据进行排序,
将排序后的结果保存到文件ordered_salary.txt中。
做完打开文件看看结果,玩这么多数据于股掌之间,相信你会有成就感的。
*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
double salary[500];
int i;
FILE *fp;
if ((fp=fopen("salary.txt","r"))==NULL){
printf("salary file cannot open!");
exit(0);}
else {
for (i=0;i<500;i++){
fscanf(fp,"%lf",&salary[i]); //读入工资数据
}
}
fclose(fp);
//加工资
for (i=0;i<500;i++){
salary[i]=salary[i]*(1+0.2);
}

//排序
for (i=0;i<500;i++){
int j;
for (j=0;j<500-i;j++){
if (salary[j]>salary[j+1]){
int t;
t=salary[j];
salary[j]=salary[j+1];
salary[j+1]=t;
}
}
}

//输出元素值
if ((fp=fopen("ordered_salary.txt","w"))==NULL){
printf("ordered_salary file cannot open!");
exit(0);}
else{

for (i=0;i<500;i++){
fprintf(fp,"%.2lf\n",salary[i]);
}
}
fclose(fp);

printf("操作完成!");
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: