
int isprime(int n)
{ for(int i=2 i*i<=n i++)
if(n%i==0)return 0
return n>1
}
void sort(int a[], int n)
{ int i, j, t
for (j = 0 j < n - 1 j++)
for (i = 0 i < n - 1 - j i++)
if(a[i] > a[i + 1])
{ t=a[i]
a[i]=a[i+1]
a[i+1]=t
}
}
int main()
{ int n,i,k,a[10]
for(n=i=0 i<10 i++)
{ scanf("%d",&a[i])
if(isprime(a[i]))
a[n++]=a[i]
}
if(n==0)
{ printf("No prime\n")
return 0
}
sort(a,n)
for(i=0 i<n i++)
printf("%d ",a[i])
printf("\n")
return 0
}
#include<stdio.h>#include<math.h>
void paixu(int *a,int n)
int issushu(int a)
void main()
{
int b[5][5]
int i,j,k=0
printf("请输入一个五行五列的二维整数数组:\n")
for(i=0i<5i++)
for(j=0j<5j++)
scanf("%d",&b[i][j])
//开始判断,并将素数存到一维数组中
for(i=0i<5i++)
for(j=0j<5j++)
if(issushu(b[i][j]))
a[k++]=b[i][j]
//开始排序
paixu(a,k)
//开始输出
printf("\n二维数组中是素数的有:\n")
for(i=0i<ki++)
printf("%d ",a[i])
printf("\n")
}
//交换
void swap(int *a,int *b)
{
int t
t=*a
*a=*b
*b=t
}
//从小到大排序
void paixu(int *a,int n)
{
int i,j
for(i=1i<n-1i++)
for(j=0j<n-ij++)
{
if(a[j]>a[j+1])
swap(a+j,a+j+1)
}
}
//判断是否是素数,是,返回1,否则,返回0
int issushu(int a)
{
int i
for(i=2i<=sqrt(a)i++)
if(a%i==0)
return 0
return 1
}
//程序我已经调试好了,不懂的可追问哦!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)