菜鸟求助:一道三级编程题
小弟做一道自觉简单的三级编程题,但总打不开数据文件“in.dat"(我是把它放在c:\turboc2\my下,用记事本编辑的),程序如下,哪位大侠能赐教应怎样修改?题目是:在文件in.dat中存放了一批正整数,ReadData()功能是将in.dat中数据读入数组a中,要求编写函数js(),功能是把a中合数置0;最后调用函数WriteDat()把数组a中的质数写入到文件out,dat中。
先不管gs()对不对,哪为大侠帮我看看为什么总显示打不开in.dat呢?
#include"stdio.h"
#include"math.h"
#define NUM 100
int a[NUM];
int gs=0;
int ReadData(void)
{
FILE *fp;
int i=0;
if ((fp=fopen("C:\turboc2\my\in.dat","r"))==NULL)
return 1;
while(!feof(fp))
{
fscanf(fp,"%d",&a[i]);
++i;
}
gs=i;
fclose(fp);
return 0;
}
int WriteDat(void)
{
FILE *fp;
int i;
if((fp=fopen("C:\turboc2\my\out.dat","w"))==NULL)
return 1;
for(i=0;i<gs;++i)
if(a[i]>0)
fprintf(fp,"%d",a[i]);
fclose(fp);
return 0;
}
void js(void)
{
int i=0,j;
while(a[i]!='\0')
{
for(j=2;j<a[i];j++)
if(a[i]%j==0) a[i]=0;
i++;
}
}
main()
{
if(ReadData())
{
printf("can't open in.dat!\n");
return;
}
js();
WriteDat();
}