一.问题及代码
作 者:杨振宇
完成日期:2017 年 4月 10日
版 本 号:v1.0
对任务及求解方法的描述部分:将问题分为3个部分分别解答
输入描述:输入任意10个整数
问题描述:输入的整数是否是素数并进行排序
程序输出:是素数的整数并对其进行排序
问题分析:对是否素数进行判断,采用相应方法进行排序
算法设计:自定义一个函数进行是否素数的判断,然后用冒泡法进行排序
#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,k,m=0;
for(i=0;i<10;i++)
{
k=prime(a[i]);
if(k==1)
{
b[j]=a[i];
j++;
m++;
}
}
print(b,m);
sort(b,m);
print(b,m);
return 0;
}
bool prime(int n)
{
int m;
for(m=2;m<n;m++)
{
if(n%m==0)
{
return 0;
break;
}
else
{
return 1;
}
}
}
void print(int p[],int n)
{
int i;
cout<<2<<"\t";
for(i=0;i<n;i++)
cout<<p[i]<<"\t";
cout<<endl;
}
void sort(int p[], int n)
{
int j,i,t=0;
for(i=1;i<n;i++)
{
for(j=n-1;j>=i;j--)
if(p[j]<p[j-1])
{
t=p[j-1];
p[j-1]=p[j];
p[j]=t;
}
}
}
二.运算结果
三.心得体会
对于条件语句的应用更加得心应手;使用冒泡法对数据进行了排序,增强了对于冒泡排序法使用的熟练度,弥补了一些自己忽略的小漏洞。
四.知识点总结
对于自定义函数,除了注意函数中的形参以及实参以外,还要注意函数的类型是否符合你所需要的要求;对于某种条件的判断可以使用条件语句进行分析;对数据的排序可以使用冒泡排序法或者选择排序法进行编译。