首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

程序编译、链接无误,但就是运行出错。哪位帮小弟我瞧瞧?先行谢过

2012-03-05 
程序编译、链接无误,但就是运行出错。哪位帮我瞧瞧?先行谢过!#includemath.h#includeconio.h#includeio

程序编译、链接无误,但就是运行出错。哪位帮我瞧瞧?先行谢过!
#include<math.h>
#include<conio.h>
#include<iostream>
using namespace std;

void process(int a[2000001],long n);
void decision(int a[2000001]);
void output(int a[2000001],long n);
void display();

void main()
{
  int i,j,a[2000001];
  long n;
  display();
  decision(a);


}

void display()
{
  cout<<"**********************************************************"<<'\n';
  cout<<" 油灯问题 "<<'\n';
  cout<<"说明:"<<'\n';
  cout<<"1、输入的油灯数在1-2000000之间;"<<'\n';
  cout<<"2、0代表输入结束;"<<'\n';
  cout<<"3、-1代表退出系统"<<'\n';
  cout<<"**********************************************************\n";

  cout<<"请输入油灯数,可以输入多个,以空格键隔开,最后回车:"<<'\n';
}

void decision(int a[2000001])
{
  int i,j;
  long n;
  while(1)
  {
  cin>>n;
  if(n==0||n==-1)
  break;
  process(a,n);

  }
  getchar();
  if(n==0)
  main();

}

void process(int a[2000001],long n)
{
  int i,j,count=0;
  for(i=1;i<=n;i++)
  a[i]=0;
  for(i=1;i<=n;i++)
  {
  for(j=i;j<=n;j+=i)
  {
  a[j]=(a[j]+1)%2;

  }


  }
  output(a,n);
}

void output(int a[2000001],long n)
{
  int i,count=0;
  i=1;
  if(a[i++]==1)
  {cout<<i-1;count++;}
  while(i<=n)
  if(a[i++]==1)
  {
  cout<<",";
  cout<<i-1;
  count++;
  }

  cout<<count<<'\n';


}


[解决办法]

C/C++ code
void decision(int a[2000001]){int i,j;long n;while(1){cin>>n;if(n==0||n==-1)break;process(a,n);}getchar();if(n==0)main();  //?????????}
[解决办法]

void process(int a[2000001],long n);
void decision(int a[2000001]);
void output(int a[2000001],long n);

void process(int *a,long n);
void decision(int *a);
void output(int *a,long n);
同样:
void main()
{
int i,j,a[2000001];
改为:
void main()
{
int i,j,*a;
a = new int[2000001];
...
其它你试一下。

热点排行