| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 463 人关注过本帖
标题:求教
只看楼主 加入收藏
elerwood
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-5-7
收藏
 问题点数:0 回复次数:8 
求教
【问题】该程式TB 2.0编译通过。输入几个初始值,计算结果输出到txt文本。但运行该程式,txt输出了,内容为空,里面一个字都没有,何解?
-----------------------------------------------------------------------------------------
/*连续自然数的组合程序*/
#include <stdio.h>
#define MAXN 33
int a[2];
FILE *file_ptr;
void comb(int m,int k);
int  sch=0;
int T_Count=2;
void comb (int m,int k)
{
 int i,j;
 for(i=m;i>=k;i--)
 {
  a[k]=i;
  if(k>1)
     comb(i-1,k-1);
  else
  {
   for(j=a[0];j>0;j--)
   {
    /* printf("%4d ",a[j]);*/
       fprintf(file_ptr,"%4d ",a[j]);
       fprintf(stdout,"%4d",a[j]);
       sch++;
       if(sch==T_Count) {
      sch=0;
      fprintf(stdout,"\n");
     /* printf("\n");*/
      fprintf(file_ptr,"\n");
  }
   }
  }
}
}
void main()
{
  int ms,ns;
  file_ptr=fopen("33c2.txt","w");
  if(file_ptr==NULL)
{
    printf("open file error...,hit any key to return");
    getch();
    return;
   }
  printf("\n Please input you datum:ms>ns___:");
  scanf("%d %d",&ms,&ns);
while(1)
{
   printf("\n Please input display data number in screen:");
   scanf("%d",&T_Count);
   if(T_Count>0) break;
  }
a[0]=ns;
  comb(ms,ns);
  printf("\n Hit any key to exit");
  getch();
fclose(file_ptr);
}
------------------------------------------------------------------------------

[ 本帖最后由 elerwood 于 2012-5-8 10:31 编辑 ]
搜索更多相关主题的帖子: include 自然数 
2012-05-07 12:35
elerwood
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-5-7
收藏
得分:0 
编译没问题

输入几个参数,运行也没问题,但最后输出生成txt文本,内容是空的?
2012-05-08 10:32
Dick_G
Rank: 2
等 级:论坛游民
帖 子:21
专家分:84
注 册:2012-4-7
收藏
得分:0 
getch();这个函数你定义了吗?
2012-05-08 10:54
Dick_G
Rank: 2
等 级:论坛游民
帖 子:21
专家分:84
注 册:2012-4-7
收藏
得分:0 
程序代码:
#include <stdio.h>

 #define MAXN 33

 int a[2];

 FILE *file_ptr;

 int  sch=0;

 int T_Count=2;

 void comb (int m,int k)

 {

 int i,j;

 for(i=m;i>=k;i--)

 {
   a[k]=i;
   if(k>1)
      comb(i-1,k-1);
   else
   {
    for(j=a[0];j>0;j--)
    {
     /* printf("%4d ",a[j]);*/
        fprintf(file_ptr,"%4d ",a[j]);
        fprintf(stdout,"%4d",a[j]);
        sch++;
        if(sch==T_Count) {
       sch=0;
       fprintf(stdout,"\n");
      /* printf("\n");*/
       fprintf(file_ptr,"\n");
   }
    }
   }

 }

 }

 void main()

 {
   int ms,ns;
   char ch;
   file_ptr=fopen("33c2.txt","w");
   if(file_ptr==NULL)

 {
     printf("open file error...,hit any key to return");
     ch=getchar();
     return;
    }
   printf("\n Please input you datum:ms>ns___:");
   scanf("%d %d",&ms,&ns);

 while(1)

 {
    printf("\n Please input display data number in screen:");
    scanf("%d",&T_Count);
    if(T_Count>0) break;
   }

 a[0]=ns;
   comb(ms,ns);
   printf("\n Hit any key to exit");
   ch=getchar();

 fclose(file_ptr);

 }

 
2012-05-08 10:55
elerwood
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-5-7
收藏
得分:0 
楼上的朋友

上面的代码运行仍然和初始一样报错,并且导出的TXT文本内容为空,0字节文件

window2000 turbo c2.0
2012-05-11 09:45
Luminal
Rank: 6Rank: 6
等 级:侠之大者
帖 子:140
专家分:470
注 册:2011-8-24
收藏
得分:0 


[ 本帖最后由 Luminal 于 2012-5-11 09:52 编辑 ]
2012-05-11 09:49
elerwood
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-5-7
收藏
得分:0 
请问 该如何实现呢
谢谢
2012-05-11 09:52
Luminal
Rank: 6Rank: 6
等 级:侠之大者
帖 子:140
专家分:470
注 册:2011-8-24
收藏
得分:0 
你的代码可以执行,也可以得到你想要的结果,只不过输入的数据必须正确才可以的,你要的那个文本文件也是可以有内容的,


 Please input you datum:ms>ns___:3 1

 Please input display data number in screen:3

   3   2   1

 Hit any key to exit

我不知道你要干什么,你的这个代码估计要想真正的能使用的话,要完全重写才行!
2012-05-11 10:17
elerwood
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-5-7
收藏
得分:0 

小于33的自然数,任选N组,在屏幕(并输出txt)上以N列显示出来

如:29 3 3
1-29数中,任选3个,结果三个一行三个一行的显示出来
2012-05-11 16:33
快速回复:求教
数据加载中...
 
   



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

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