C ++アレイ実験、7-プライムソート

まず、問題とコード:

/* 
 * 文件名称: 数组素数排序
* 作    者:  宋健
 * 完成日期: 2016 年 6 月 5 日 
* 版 本 号:v1.0 
 * 对任务及求解方法的描述部分:定义一个有10个的数组a,将数组a中的所有素数放在数组b,再对数组b排序。
 * 输入描述:  定义数组a[]
 * 问题描述: 将数组a中的所有素数放在数组b,再对数组b排序。
* 程序输出:  
 * 问题分析: 
* 算法设计:  冒泡排序,数组拆分
 */  
#include <iostream>
using namespace std;
void sort(int p[], int n);  //数组排序
bool prime(int x);   //素数判断
void print(int p[],int n);//输出数组
int main( )
{	int a[10]={2,13,5,47,19,53,27,23,28,11};
	int b[10],i,j=0;
	for(i=0;i<10;i++)
	{
        if(prime(a[i]))
        b[j++]=a[i];//将a中的素数存入b数组
	}
	print(b,j); //输出排序前的b数组
	sort(b,8);   //对数组b排序
	print(b,j);   //输出排序后的b数组

	return 0;
}
//下面定义自定义函数

void sort(int p[],int n)
{
    int i,j,t;
    for(i=0;i<n-1;i++)
        for(j=0;j<n-1-i;j++)
        if(p[j]>p[j+1])
    {
        t=p[j];
        p[j]=p[j+1];
        p[j+1]=t;
    }

}
bool prime(int x)
{
    int i;
    bool Y;
    Y=true;
    for(i=2;i<x;i++)
        if(x%i==0)
        {Y=false;break;}
    return Y;
}

void print(int p[],int n)
{
    int i;
    for(i=0;i<n-1;i++)
        cout<<p[i]<<" ";
}

第二に、結果:



第三に、感情や経験:

        ブールタイプは、熟練しました。


第四に、知識の要約:

バブルソート、ブール型決意。



公開された13元の記事 ウォンの賞賛0 ビュー2613

おすすめ

転載: blog.csdn.net/Heiraten/article/details/51592103