满意答案

80后打工仔1
2013.03.02

采纳率:43% 等级:12
已帮助:13938人
感觉你问的好象是两个问题
1.将a数组中的第一个元素移到数组末尾,其余数据依次往前平移一个位置。
2.用筛选法求出100以内的全部素数,并按每行五个数显示。
我就当是2个问题来写了,2个问题分别写在2个函数里面
#include
#include
void f1()
{
int n,i,t,*a;
printf("请输入数组a的元素个数n:");
scanf("%d",&n);
a=(int *)malloc(sizeof(int)*n);
printf("请输入n个数组a的元素,每个元素之间用空格搁开(int 类型)\n");
for(i=0;i
scanf("%d",a+i);
//元素移动
t=a[0];
for(i=1;i
a[i-1]=a[i];
a[n-1]=t;
for(i=0;i
printf("%d ",a[i]);
printf("\n");
}
void f2()
{
int i,j,t;
bool susu[101];
for(i=0;i<=100;i++)
susu[i]=1;
for(i=2;i<=10;i++)
if(susu[i])
{
j=i*i;
while(j<=100)
{
susu[j]=0;
j+=i;
}
}
t=0;
for(i=2;i<101;i++)
if(susu[i])
{
printf("%d ",i);
t++;
if(t%5==0)printf("\n");
}
}
int main()
{
int c;
printf("1.数组的元素移动\n");
printf("2.筛选法求100以内的全部素数\n");
printf("请输入要执行的程序序号:");
scanf("%d",&c);
if(c==1)f1();
else f2();
return 0;
}
12分享举报