第14周 《C语言及程序设计》实践参考——工资的排序

来源:互联网 发布:程序化交易编程语言 编辑:程序博客网 时间:2024/05/29 06:34

问题及代码:

/*【项目4-工资的排序】从文件salary.txt中读入工人的工资(不超过500人),全部增加20%(好事),然后对工资数据进行排序,将排序后的结果保存到文件ordered_salary.txt中。*/  #include<stdio.h>int main(){  double salary[500];  FILE *fpin,*fpout;  fpin=fopen("salary.txt","r");  if(fpin==NULL)   {     printf("file cannot open.");     exit(1);    }  fpout=fopen("ordered_salary.txt","w");  if(fpout==NULL)     {     printf("file cannot write.");     exit(1);    }  int n=0;  while(fscanf(fpin,"%lf",&salary[n])!=EOF)//读取的值与EOF比较,判读是否有数据    {      salary[n]*=1.2; //将每个读取到的值乘上20%      n++;    }   fpclose(fpin);   int i,j;  double t;  for(i=0;i<n-1;i++)     for(j=0;j<n-i-1;j++) //i控制循环次数,j控制比较次数       if(salary[j]>salary[j+1])           {           t = salary[j];           salary[j] = salary[j+1];           salary[j+1] = t;         }   for(i=0;i<n;i++)     fprintf(fpout,"%.2lf",&salary[i]);   printf("\n");   fpclose(fpout);   return 0;  }


0 0
原创粉丝点击