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]<<" ";
}

二、運行結果:



三、心得體會:

        對布爾型進行了熟練。


四、知識點總結:

冒泡排序法;布爾型判斷的使用。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章