有一道C++题 请教一下
#include<iostream.h>#include<math.h>voidmain(){intprime[100],c,d,k=0;for(c=2;c<=100;c...
#include <iostream.h>
#include <math.h>
void main()
{
int prime[100],c,d,k=0;
for(c=2;c<=100;c++)
{prime[c]=0;}
d=2;
do
{ k=d;
if(prime[k]==0)
{k=k+d;
while(k<=100)
{prime[k]=1;
k=k+d;
}
d=d+1;
}
}
while(d<=sqrt(100));
for(c=2;c<=100;c++)
if(prime[c]==0)
{cout<<c<<endl;}
}
为什么运行时黑屏啊 帮我解释一下
就是 屏上什么也没有 黑面啊
这道题是:使用筛选法求100以内的所用素数。 展开
#include <math.h>
void main()
{
int prime[100],c,d,k=0;
for(c=2;c<=100;c++)
{prime[c]=0;}
d=2;
do
{ k=d;
if(prime[k]==0)
{k=k+d;
while(k<=100)
{prime[k]=1;
k=k+d;
}
d=d+1;
}
}
while(d<=sqrt(100));
for(c=2;c<=100;c++)
if(prime[c]==0)
{cout<<c<<endl;}
}
为什么运行时黑屏啊 帮我解释一下
就是 屏上什么也没有 黑面啊
这道题是:使用筛选法求100以内的所用素数。 展开
展开全部
while(d<=sqrt(100));
for(c=2;c<=100;c++)
if(prime[c]==0)
{cout<<c<<endl;}
d没有自增
for(c=2;c<=100;c++)
if(prime[c]==0)
{cout<<c<<endl;}
d没有自增
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后面加上system("pause");就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
do
{ k=d;
if(prime[k]==0)
{k=k+d;
while(k<=100)
{prime[k]=1;
k=k+d;
}
d=d+1;
}
}
while(d<=sqrt(100));
执行到d=4时,peime[4]!=0,不执行if内的d=d+1。将d=d+1放到括号外就不会出现无线循环,但可能与你的目的有出入。
还有,最后一个for循环没有加括号。
{ k=d;
if(prime[k]==0)
{k=k+d;
while(k<=100)
{prime[k]=1;
k=k+d;
}
d=d+1;
}
}
while(d<=sqrt(100));
执行到d=4时,peime[4]!=0,不执行if内的d=d+1。将d=d+1放到括号外就不会出现无线循环,但可能与你的目的有出入。
还有,最后一个for循环没有加括号。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询