求大神解答,素数与排序C语言

求大神解答,素数与排序C语言,第1张

#include<stdio.h>

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

int a[25]//存素数的一维数组

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

}

//程序我已经调试好了,不懂的可追问哦!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11491516.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存