问题及代码:
/*
* Copyright (c) 2015, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李盈盈
* 完成日期:2015年 03 月 03 日
* 版 本 号:v1.0
*
* 问题描述:从文件中读入工人的工资,全部增加20%,然后排序,保存到ordered_salary.txt中。
* 输入描述:无
* 程序输出: 将数据保存到ordered_salary.txt中,并输出。
*/
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
float a[500],t;
int i=0,j,n;
ifstream infile("salary.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>a[i])
i++;
infile.close();
n=i;
for(i=0;i<n;i++)
{
a[i]=a[i]*1.2;
}
for (j=0;j<n-1;j++)
for(i=0;i<n-j-1;i++)
{
if(a[i]>a[i-1])
{
t=a[i];
a[i]=a[i-1];
a[i-1]=t;
}
}
ofstream outfile("ordered_salary.txt",ios::out);
if(!outfile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for (int i=0;i<n;i++)
{
outfile<<a[i]<<endl;
if(i%5==0&&i!=0)
cout<<endl;
cout<<a[i]<<"\t"<<"\t";
}
outfile.close();
return 0;
}
运行结果: