建议不要搞太多对新人不友好的东西,下面上我的代码(建议楼主好好看看,不要为抄答案而忽略注释,判素这个函数真的很基础又很重要,一定要好好理解哦~)
#include<bits/stdc++.h>//万能头文件,不过并不包括<windows.h>库等好玩的东西
using namespace std;
int a[1000000];//数组是不是开太大了?
bool lele(int n)//判素神器
{
if(n==1||n==0) return false;//要考虑 0、1不是素数的情况
for(int i=2;i<=sqrt(n);i++)//进行列举排除,sqrt(n)是取n的平方根,提高效率
{
if(n%i==0) return false;//如果i能被n整除,说明i是n的因数,n就不是素数,返回假
}
return true;//循环结束后,说明n是素数,返回真
}
int main()
{
ios::sync_with_stdio(false);//个人习惯,您可以选择注释掉它
int n,i,o=0;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];//输入这几个数
for(i=1;i<=n;i++)
{
if(lele(a[i]))//逐一进行判断,如果满足条件(是素数),就输出
{
if(o==0)//为了防止输出后面多了空格,我是这样处理的
{
cout<<a[i];
o++;
}
else cout<<" "<<a[i];
}
}
return 0;//完美地结束
}