当前位置: 代码迷 >> C语言 >> 菜鸟求助:一道三级编程题
  详细解决方案

菜鸟求助:一道三级编程题

热度:186   发布时间:2005-07-19 15:35:00.0
菜鸟求助:一道三级编程题
    小弟做一道自觉简单的三级编程题,但总打不开数据文件“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();
}
搜索更多相关的解决方案: dat  int  ReadData  

----------------解决方案--------------------------------------------------------
  if((fp=fopen("C:\turboc2\my\out.dat","w"))==NULL)
改成
  if((fp=fopen("C:\turboc2\my\out.dat","rt+"))==NULL)
----------------解决方案--------------------------------------------------------
兄弟我帮不了你,因为我自己太菜,流这东东现在理解还不是很深。楼上的你能不能给讲讲你的学习心得。
----------------解决方案--------------------------------------------------------
georgezf 大侠,好象还不行啊
----------------解决方案--------------------------------------------------------
对了,我没看清楚,是改成:
if((fp=fopen("C:\\turboc2\\my\\out.dat","rt+"))==NULL)

\是转义符,要在语句钟表达\的话就要用\\
----------------解决方案--------------------------------------------------------
谢大侠了,小弟实在太菜,还是调试不出
----------------解决方案--------------------------------------------------------
你两个地方都改了嘛?还是只改了一个?
----------------解决方案--------------------------------------------------------
改了两个……
----------------解决方案--------------------------------------------------------
问题解决了,确是"\"的问题,改为"\\"就可以的得出结果来了,在此谢过大侠georgezf
----------------解决方案--------------------------------------------------------
  相关解决方案