天天看點

linux将數組質數放前面,将a數組中的第一個元素移到數組末用篩法求出100以内的全部素數,并按每行五個數顯示。尾,其餘資料依次往前平移一個位置。...

滿意答案

linux将數組質數放前面,将a數組中的第一個元素移到數組末用篩法求出100以内的全部素數,并按每行五個數顯示。尾,其餘資料依次往前平移一個位置。...

80後打工仔1

2013.03.02

linux将數組質數放前面,将a數組中的第一個元素移到數組末用篩法求出100以内的全部素數,并按每行五個數顯示。尾,其餘資料依次往前平移一個位置。...

采納率: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分享舉報