#include?<stdlib.h>
#include?"time.h"
void?outprime(int?a[]){
int?x[50],i,j,k,t;
for(i=0;i<50;i++){//找素數並存入x
printf("%4d",a[i]);
if((a[i]&1)==0)
continue;
for(t=0,k=3;k*k<=a[i];k+=2)
if(a[i]%k==0)
break;
if(k*k>a[i])
x[t++]=a[i];
}
printf("\n");
for(i=0;i<t;i++){//素數排序並輸出
for(k=i,j=k+1;j<t;j++)
if(x[k]>x[j])
k=j;
if(k-i)
j=x[k],x[k]=x[i],x[i]=j;
printf("%4d",x[i]);
}
printf(t"\n"?:?"No...\n");
}
int?main(int?argv,char?*argc[]){
int?i,a[50];
printf("50?random?numbers?from?100?to?200\n");
srand((unsigned)time(NULL));//下偽隨機種子
for(i=0;i<50;i++)
a[i]=rand()%100+100;
outprime(a);
return?0;
}
運行結果: