赞
踩
编写两个函数,将n个正整数中的素数按升序排序。函数功能分别是:判断一个数是否为素数,以及对数组进行排序。输入分2行:第一行为n的值,第二行为n个整数。要求输入输出均在主函数中完成。
输入分两行,第一行输入n的值,第二行输入n个数
排序后的结果,用空格隔开
9
9 8 7 6 5 4 3 2 1
2 3 5 7
找素数,录入一个新的数组,然后冒泡排序或者选择排序。当然如果熟练其他类型的排序也可以使用。但对于初学者而言,还是用冒泡排序和选择排序吧。
#include<iostream> using namespace std; const int N=10002; int n,a[N],f[N],num; bool prime(int k) { bool b=1; if(k<2) b=0; for(int i=2;i<=k/i;i++) if(k%i==0) { b=0; break; } return b; } void maopao() { for(int i=1;i<=num;i++) for(int j=i+1;j<=num;j++) if(f[i]>f[j]) swap(f[i],f[j]); } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; if(prime(a[i])) f[++num]=a[i]; } maopao(); for(int i=1;i<=num;i++) cout<<f[i]<<" "; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。