C++编写一个函数用来实现将一个数组指定的素数元素删除,主函数中定义10 个元素的一维数组,

2022-08-16 社会 51阅读
#include
#include
int sift(int a[],int n)//实现将素数删除,返回值为删除素数后元素个数
{
int i,m,flag;
for(i=0;i if(a[i]!=1) //1不是素数不用删除
{
flag=0;
m=(int)sqrt(a[i]);
for(int j=2;j<=m;j++)
{ if(a[i]%j==0)//a[i]是合数
{flag=1;
break;}
}
if(flag==0)//a[i]是素数
{
for(j=i;j a[j]=a[j+1];
n--;//删除该素数后数组元素个数-1
i--;//因为a[i]已经改变需要从新验证,故需要-1
}
}
return n;
}
void main()
{
int a[10],i,k;
cout<<"请输入10个整数:";
for(i=0;i<10;i++)
cin>>a[i];
k=sift(a,10);
for(i=0;i cout<
}
实现真正删除对我来说还真是有点困难,不过总算弄出来了,望采纳哦!
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com