#include<stdio.h>
#include<math.h>
int sort(int a[10],int n)
{
int i,j,temp=0;
for(i=1;i<=n;i++)
{
j=i-1;
while(j>0)
{
if(a[j]>a[j-1]) break;
if(a[j]<a[j-1])
{
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
j--;
}
}
}
int prime(int u)
{
int i;
if (u <= 1) return 0;
if (u == 2) return 1;
if (u %2 == 0) return 0;
for (int i = 3; i <= sqrt(u); i+=2)
if(u %i == 0) return 0;
return 1;
}
int main()
{
int i,n,m;
int a[10];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort (a,n);
for(i=0;i<n;i++)
{
m=a[i];
if(prime(m)==1) printf("%6d",m);
else continue;
}
}
能正常输出啊,有什么问题吗
没什么大问题,排序函数 int sort(int a[10],int n) 对第一个即a[0]略过了,不能参加排序。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m