大一新手求救,谢谢
要求把前一百个素数弄到a[]中,但是我写的这个根本就没有任何显示啊 求救
#include <stdio.h>
void main(){
int a[100],i,m=2,j;
bool b1,b2;
b2=true;
for(i=0;i<100;i++){
b1=true;
while(b1){
for(j=m/2;j>=2;j--){
if(m%j==0)
b2=false;}
if(b2){
a[i]=m;
b1=false;}
m++;
}
}
for(i=0;i<100;i++) printf(" s ",a[i]);
}
[解决办法]
#include <stdio.h>
void main(){
int a[100],i,m=2,j;
bool b1,b2;
b2=true;
for(i=0;i<100;i++)
{
b1=true;
while(b1)//一旦b2==false那么b1一直为true所以出现了死循环
{
for(j=m/2;j>=2;j--){
if(m%j==0)
b2=false;}
if(b2){
a[i]=m;
b1=false;}
m++;
}
}
for(i=0;i<100;i++) printf(" s ",a[i]);
}
改后的代码:
#include <stdio.h>
void main()
{
int a[100],i,m=2,j;
bool b1,b2;
for(i=0;i<100;i++)
{
b1=true;
while(b1)
{
b2=true;
for(j=m/2;j>=2;j--)
{
if(m%j==0)
b2=false;
}
if(b2)
{
a[i]=m;
b1=false;
}
m++;
}
}
for(i=0;i<100;i++)
printf(" %3d ",a[i]);
}