读书人

[新手]此简易C++程序为什么会闪退

发布时间: 2013-01-07 10:02:25 作者: rapoo

[新手求助]此简易C++程序为什么会闪退?
刚开始学,懂得很少,希望各位大神赐教啊~

#include <iostream>
#include <iomanip>
using namespace std;
bool Prime(int);

int main()
{
int counter=0;
for(int i=1;i<=10000;i++)
{
if(Prime(i))
cout<<setw(5)<<i;
if(i%10==0)
cout<<endl;
counter=i;
}
cout<<endl<<counter;
system("pause");
return 0;
}

bool Prime(int num)
{
int n[100]={0};
for(int a=2;a<=100;a++)
{
if(num%a!=0)
{
if(a!=num)
n[a]=a;
}
}
int c=0;
for(int b=2;b<=100;b++)
c=c+n[b];
if(c==0)
return true;
else
return false;
}
[解决办法]
for(int a=2;a<=100;a++)
栈溢出了,改成
for(int a=2;a<100;a++)

[解决办法]


for(int a=2;a<=100;a++)
{
if(num%a!=0)
{
if(a!=num)
n[a]=a;
}
}

a等于100的时候
n[100]越界了

读书人网 >C++

热点推荐