一个文件输出问题,请求帮忙

skycncomp 2004-05-03 08:49:21
对不起,我分实在太少。实在报歉。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
int cnt=1;

//读入文本文件
void readData( int *A )
{
int i; //计数变量
FILE *fp;

if( (fp=fopen("in.txt", "r") )==NULL )
{
printf("\n*****不能打开文件*****\n");
getch();
exit(0);
}
for( i=0;i<200;i++ )
{
fscanf( fp,"%d ", &A[i] );
}

fclose( fp );
}

//输出文本文件
void Out_Data( int *A )
{
int i;
FILE *fp;

fp=fopen( "out.txt", "w" );
for( i=0;i<200;i++ )
fprintf( fp,"%d ", A[i] );

}

//排序输出
void Condi_Decide( int *A, int *B )
{
int i,k,node;
int temp;

B[0]=A[0];
for( i=1;i<200;i++ )
{
temp=A[i]%10;
if( (temp+1 )%2!=0 )
{
cnt++;
node=A[i];
k=i-1;

while( k>=0 && node>B[k] )
{
B[k+1]=B[k];
k--;
}
B[k+1]=node;
}
}
}

// 随机输出200个四位数
void Srand()
{
time_t t;
int i;
FILE *fp;

srand( (unsigned) time(&t) );

if( (fp=fopen("in.txt","w" ) )==NULL )
{
printf("\nCon't open file.");
getch();
exit(0);
}
for( i=0;i<200;i++ )
{
fprintf( fp, "%d ", rand()%10000 );
}
}

void main()
{
int A[200];
int B[200]={0};
int i;

// Srand(); //如果加上这句就出现错误。
readData( A );
for( i=0;i<200;i++ )
{
printf("%d ", A[i] );
if( i%10==0 )
printf("\n");
}

Condi_Decide( A,B );

Out_Data( B );
printf("\n满足条件的总数共=%d.\n", cnt );
}



我想输出数字到文件中,满足条件尾数是0,2,4,6,8 .但现在我如果我先建好读入文件运行就正确。
如果我运行的时候建立文件是不正确。请问这是怎么回事。我如何来达到我随机建立的要求.
...全文
41 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mypromise 2004-05-03
  • 打赏
  • 举报
回复
在Srand()里面最后一行写上fclose(fp)就行了,没有关闭文件的话文件是不会写成功的。
cngdzhang 2004-05-03
  • 打赏
  • 举报
回复
在void Srand()中

你忘了把
FILE *fp;关闭了

在后面加上
fclose(fp);

你还没关闭写文件就打开文件读,当然不行



skycncomp 2004-05-03
  • 打赏
  • 举报
回复
两位说的办法都不正确的。还是行不通。
输出和原来是一样的,全部为同一个负数。
Cathryn0000000 2004-05-03
  • 打赏
  • 举报
回复
将Srand()里的fp=fopen("in.txt","w" ) )==NULL
改为fp=fopen("in.txt","w+" ) )==NULL 就可以了
你用的只能打开一个已存在的文件,w+参数说明为若文件存在,打开;若不存在,创建并打开
freefalcon 2004-05-03
  • 打赏
  • 举报
回复
srand( (unsigned) time(&t) );改为
srand( (unsigned) time(NULL) );试试

70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧