产生100个1到100的随机整数,保存,然后排序,用c++怎样编程?

我的代码不知道哪里错了?请指教
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#include<ctime>

void fun()
{
int i,a[100];
srand((unsigned)time(NULL));
for(i=0;i<100;i++)
{
a[i]=rand()%100; //这个就可以产生0-100的随机数
cout<<a[i]<<" "; //用于测试的输出 注释掉则不会输出到控制台窗口
}
fstream fs;
fs.open("c:\\cj.txt",ios::out);
fs<<"数组元素如下:";
for(i=0;i<99;i++)
fs<<a[i]<<',';
fs<<a[99];
fs.close();

}
void main()
{

ifstream ff("c:\\cj.txt");
int cj[100];
int i,j;
int p;
for(i=0;i<100;i++)
ff>>cj[i];
for(i=0;i<99;i++)
{
for(j=1;j<100-i;j++)
{
if(cj[j-1]>cj[j])
{
p=cj[j-1];
cj[j-1]=cj[j];
cj[j]=p;
}
}
}

for(i=0;i<100;i++)
cout<<cj[i]<<" ";
ofstream f("j1.txt");
for(i=0;i<100;i++)
f<<cj[i]<<" ";
f.close();
ff.close();
}

void fun()
{
int i,a[100];
srand((unsigned)time(NULL));
for(i=0;i<100;i++)
{
a[i]=rand()%100+1;  //这个就可以产生1-100的随机数  +1 否则会出现0
cout<<a[i]<<" "; //用于测试的输出 注释掉则不会输出到控制台窗口
}
    fstream fs;
    fs.open("c:\\cj.txt",ios::out);
if ( fs.good() )
{
//fs<<"数组元素如下:"; 不要这句,读数据会出错
for(i=0;i<99;i++)
fs<<a[i]<<' '; //应该用逗号分隔,不然读数据会出错
fs<<a[i]<<'\n';
fs.close();
}
}
void main()
{
fun(); //应该先调用函数,生成数据,不然读不到!
   
ifstream ff("c:\\cj.txt"); 
int cj[100];

追问

得不到结果啊

追答

有什么问题?我测试通过了的!
你的屏幕没有输出?你是否编译运行正确?
最好上图!

温馨提示:答案为网友推荐,仅供参考
相似回答