编写一个程序实现从键盘上任意输入50个正整数,找出其中的素数,并将其按升序排列。
#include “stdio.h”
#include “math.h”
#include “conio.h”
#define N 50
int IsPrime(int x) /*判断x是否素数,返回1或0*/
{ int i;
for(i=2;i<=sqrt(x);i++) if(x%i==0)return 0;
return 1;
}
void f(int a[],int n) /*将数组a按升序排列*/
{ int i,j,t;
for(i=1;i<=n-1;i++)
for(j=0;j<=n-i-1;j++)
if(a[j]>a[j+1])
{t=a[j]; a[j]=a[j+1]; a[j+1]=t;}
}
void main()
{ int a[N],b[N],i,n;
printf(“input 10 numbers:\n”);
for(i=0;i< N;i++)
scanf(“%d”,&a[i]);
for(n=0,i=0;i< N;i++)
if (IsPrime(a[i]))b[n++]=a[i];
f(b,n);
printf(“The sorted primes:\n”);
for(i=0;i< n;i++)
printf(“%d “,b[i]);
getch();
}
© 版权声明
部分文章来自网络,只做学习和交流使用,著作权归原作者所有,遵循 CC 4.0 BY-SA 版权协议。
THE END
暂无评论内容