C++第四次实验

一、问题及代码:

/* 
* 文件名称:Test.cpp 
* 作    者:胡嘉威 
* 完成日期:2017 年 4 月 10 日 
* 版 本 号:v1.0 
* 对任务及求解方法的描述部分:定义一个有10个的数组a,将数组a中的所有素数放在数组b,再对数组b排序。采用自定义函数及for循环求解                                           
* 输入描述:无
* 问题描述:定义一个有10个的数组a,将数组a中的所有素数放在数组b,再对数组b排序。 
* 程序输出:所求数组元素分别为:2 13 5 47 19 53 23 11
            所求数组元素分别为:2 5 11 13 19 23 47 53
* 问题分析:主要要根据求解的步骤来定义不同的函数,然后不断调用函数进行运算
* 算法设计:先分析简化计算步骤,再将较复杂、有一定重复的步骤用函数定义,在用到这些步骤的时候就只要调用函数就可以了
*/ 
#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])==true)
		{
			b[j]=a[i];
			j++;                                  //将a中的素数存入b数组  
		}  
	}
	print(b,j);                                           //输出排序前的b数组    
	sort(b,j);                                           //对数组b排序  
	print(b,j);                                         //输出排序后的b数组  
	return 0;  
}  
bool  prime(int r)
{
	int i,k=1;
	for(i=2;i<r;i++)
	{
		if(r%i==0)
		{
			k=0;
			break;
		}
	}
	if(k==1)
	{
		return true;	
	}
	else
	{
		return false;
	}
}
void  sort(int q[],int y)
{
	int i,j,t;
	for(i=0;i<y-1;i++)
	{
		for(j=1;i+j<y;j++)
		{
			if(q[i]>q[i+j])                             //运用冒泡法比较元素大小并进行排序
			{
				t=q[i];
				q[i]=q[i+j];
				q[i+j]=t;
				
			}
		}
	}
}
void print(int c[],int n)
{
	int s;
	cout<<"所求数组元素分别为:";
	for(s=0;s<n;s++)
	{
		cout<<c[s]<<" ";
	}
	cout<<endl;
}  
二、运算结果:



三、心得体会:

        感觉看起来虽然有些复杂但是主要还是把学过的知识用自定义函数的方式表达出来。

四、知识点总结:

        bool型函数的定义及使用;数组元素排序及存储;调用函数时对于数组可以只写数组名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值