一道棘手的问题,求大神帮助,如题:
随机产生20个互不相同的二位正整数,将其中的素数按从大到小的顺序排列输出。函数int isprime(int a[],int n)的功能是:找出其中的素数并计算出其中的个数,函数int sort(int a[],int n)的功能是:将其中的素数进行排序。已经给出一些代码:
程序代码:#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
int isprime(int a[],int n);
void sort(int a[],int n);
void main()
{
int i,j,k,a[20];
srand((unsigned)time(NULL));
for(i=0;i<20;i++)
{
a[i]=rand()%90+10;
for(j=0;j<i;j++)
{
if(a[i]==a[j])
i--;
}
}
for(i=0;i<20;i++)
{
printf("%3d",a[i]);
}
printf("\n");
k=isprime(a,20);
sort(a,k);
for(i=0;i<k;i++)
{
printf("%3d",a[i]);
}
printf("\n");
}
void sort(int a[],int n)
{
}
int isprime(int a[],int n)
{
int k,t,i,p;
for(i=0;i<n;i++)
{
p=a[i];
}
printf("%3d",n);
for(t=2;t<n;t++)
{
if(n%t==0)break;
else
k=k+1;
a[k]=a[i];
printf("%3d",a[k]);
}
}







