#include <iostream>
#include <iomanip>
using namespace std;
#include <cmath>
int main ()
{
int i,j,n,a[101];
for(i=1;i<100;i++)
a[i]=i;
a[1]=0;
for(i=2;i<sqrt(100);i++)
for(j=i+1;j<=100;j++)
{ if(a[i]!=0&&a[j]!=0)// 这一步不明白 为什么要这样设计这步,这步不是多余吗,这里面的数肯定全部都不等于0啦 1到100里面全都是不等于0,
if(a[j]%a[i]==0)
a[j]=0;}
cout<<endl;
for(i=1,n=0;i<100;i++)
{if(a[i]!=0)
{cout<<setw(5)<<a[i]<<" ";
n++;}
if(n==10)
{cout<<endl;
n=0;}
}
cout<<endl;
return 0;
}
你这程序 有问题 你自己先上上机看看 不过还是谢谢你的回答