return0;
}
数组指针10:
素数
输入m、n(m,n<100),输出[m,n]之间的素数。
要求:
使用塞选法求素数。
用塞选法求100以内的素数过程:
在一张纸上写上1到100全部整数,然后逐个判断它们是否是素数,
找出一个非素数,就把它挖掉,最后剩下的就是素数。
具体做法如下:
<1>先将1挖掉(因为1不是素数)。
<2>用2去除它后面的各个数(2除外),把能被2整除的数挖掉,即把2的倍数挖掉。
<3>用3去除它后面的各数(3除外),把3的倍数挖掉。
<4>分别用4、5…各数作为除数去除这些数以后的各数。
这个过程一直进行到在除数后面的数已全被挖掉为止。
最后剩下的都是素数。
输入:
519
输出:
5711131719
#include
usingnamespacestd;
intmain()
{
intm,n,a[101],i,j;
for(i=1;i<101;i++)
a[i]=i;
cin>>m>>n;
for(i=2;i<101;i++)
{
for(j=i+1;j<101;j++)
if(a[j]%i==0)
a[j]=0;
}
for(i=m;i<=n;i++)
{
if(a[i]!
=0)
cout<}
return0;
}
数组指针11:
数据插入
从键盘输入n(n<100)个整数(以0结束),存放在一个一维数组中,在输入一个插入位置pos(0<=pos<=n)及被插入的数值x,将x插入到下标为pos的位置。
输出插入后数组中的所有元素。
输入:
102791154368200
8100
输出:
10279115431006820
#include
usingnamespacestd;
constintMAX=100;
intmain()
{
inta[MAX],i,pos,x,n=0;
cin>>a[n];
while(a[n])
{
n++;
cin>>a[n];
}
cin>>pos>>x;
for(i=n-1;i>=pos;i--)
{
a[i+1]=a