| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 801 人关注过本帖
标题:菜鸟求助:一道三级编程题
只看楼主 加入收藏
yisuoyanyu
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-7-9
收藏
 问题点数:0 回复次数:8 
菜鸟求助:一道三级编程题
    小弟做一道自觉简单的三级编程题,但总打不开数据文件“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 
2005-07-19 15:35
georgezf
Rank: 1
等 级:新手上路
帖 子:275
专家分:0
注 册:2004-11-20
收藏
得分:0 
  if((fp=fopen("C:\turboc2\my\out.dat","w"))==NULL)
改成
  if((fp=fopen("C:\turboc2\my\out.dat","rt+"))==NULL)

2005-07-19 16:45
zzb_ks
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2005-7-6
收藏
得分:0 
兄弟我帮不了你,因为我自己太菜,流这东东现在理解还不是很深。楼上的你能不能给讲讲你的学习心得。

2005-07-19 17:08
yisuoyanyu
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-7-9
收藏
得分:0 
georgezf 大侠,好象还不行啊

2005-07-19 17:14
georgezf
Rank: 1
等 级:新手上路
帖 子:275
专家分:0
注 册:2004-11-20
收藏
得分:0 
对了,我没看清楚,是改成:
if((fp=fopen("C:\\turboc2\\my\\out.dat","rt+"))==NULL)

\是转义符,要在语句钟表达\的话就要用\\

2005-07-19 18:06
yisuoyanyu
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-7-9
收藏
得分:0 
谢大侠了,小弟实在太菜,还是调试不出

2005-07-19 18:43
georgezf
Rank: 1
等 级:新手上路
帖 子:275
专家分:0
注 册:2004-11-20
收藏
得分:0 
你两个地方都改了嘛?还是只改了一个?

2005-07-19 19:28
yisuoyanyu
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-7-9
收藏
得分:0 
改了两个……

2005-07-19 19:31
yisuoyanyu
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-7-9
收藏
得分:0 
问题解决了,确是"\"的问题,改为"\\"就可以的得出结果来了,在此谢过大侠georgezf

2005-07-20 14:55
快速回复:菜鸟求助:一道三级编程题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025715 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved