c语言编程题,求各位大佬帮忙!!
题目描述:输入一个正整数n(1<n≤10),再输入n个正整数,找出其中的素数,并将它们从大到小排序后输出
输入:
输入一个正整数n(1<n≤10),再输入n个正整数。
输出 :
找出其中的素数,并从大到小排序。
样例输入:
6
1 2 3 6 5 4
样例输出:
5 3 2
[此贴子已经被作者于2019-11-25 13:06编辑过]
程序代码:#include<stdio.h>
int sushu(int a);
int main()
{
int a[10]={0},b[10],n;
int i=0,j=0,k=0,temp;
printf("请输入数据个数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(sushu(a[i]))
{
b[k]=a[i];
k++;
}
}
for(i=0;i<k-1;i++)
{
for(j=0;j<k-1-i;j++)
{
if(b[j]<b[j+1])
{
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}
}
printf("\n以下为素数,排序后为:");
for(i=0;i<k;i++)
printf("%d ",b[i]);
return 0;
}
int sushu(int a)
{
int i=0;
for(i=2;i<a;i++)
{
if(a%i==0)
break;
}
if(i==a)
return 1;
else
return 0;
}
