C++考题:建立两个磁盘文件f1.dat和f2.dat,试编程序实现:从键盘键入20个不同的整数,奇数放入f1.dat,偶数放入f2.dat

C++试题:建立两个磁盘文件f1.dat和f2.dat,试编程序实现:从键盘键入20个不同的整数,奇数放入f1.dat,偶数放

C++试题:建立两个磁盘文件f1.dat和f2.dat,试编程序实现:从键盘键入20个不同的整数,奇数放入f1.dat,偶数放入f2.dat
建立两个磁盘文件f1.dat和f2.dat,试编程序(C++)实现以下工作:
a)从键盘键入20个不同的整数,奇数放入f1.dat,偶数放入f2.dat;
b)分别读入f1.dat和f2.dat中的奇数,对这20个整数按递增方式排序后,依次写入f1.dat中,实现f1.dat中的数据的更新。

[解决办法]

C/C++ code
#include <iostream>#include <fstream>#include <algorithm>using namespace std;int a[100]={0};const int Count=20;void createDat(char *s){    fstream f1,f2;    f1.open("f1.dat",ios::out);    f2.open("f2.dat",ios::out);}void writeDat(int i){    fstream f1;    f1.open("f1.dat",ios::app);    fstream f2;    f2.open("f2.dat",ios::app);    if(i%2==0)        f1<<i<<'\t';    else        f2<<i<<'\t';    f1.close();    f2.close();}void readDat(){    fstream f1,f2;    f1.open("f1.dat",ios::in);    f2.open("f2.dat",ios::in);    int i=0;    while(!f1.eof())    {        f1>>a[i++];    }    i--;    while(!f2.eof())    {        f2>>a[i++];    }}int main(){    createDat("f1.dat");    createDat("f2.dat");    int i,j;    for(j=0;j!=Count;j++)    {        cin>>i;        writeDat(i);    }    readDat();    sort(a,a+Count);    for(i=0;i<Count;i++)        cout<<a[i]<<endl;    return 0;}