c++第七次作业

来源:互联网 发布:弯矩图绘制软件 编辑:程序博客网 时间:2024/05/16 00:32

项目4:数组素数排序
定义一个有10个的数组a,将数组a中的所有素数放在数组b,再对数组b排序



<strong>#include <iostream>using namespace std;void sort(int p[], int n) //数组排序{int j,i,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,n;    for(i=2;i<n;i++){if(n%i==0)return 0;}return 0;}void print(int p[],int n)//输出数组{int m;for(m=0;m<n;m++)cout<<p[m]<<" ";cout<<endl;}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++)//将a中的素数存入b数组{if(prime(a[i])==0){b[j]=a[i];j++;}}print(b,j); //输出排序前的b数组  sort(b,j);   //对数组b排序print(b,j);   //输出排序后的b数组return 0;}</strong>

项目2:最大公约和和最小公倍数

从键盘中输入两个整数,求这两个整数的最大公约数和最小公倍数,最大公约数采用的算法是辗转相除法(具体算法可用百度)。其中编写自定义函数实现求最大公约数和最小公倍数

#include <iostream>using namespace std;int max(int a,int b){int m;if(a>b){m=a;a=b;b=m;}while(b!=0){m=a%b;a=b;b=m;}return a;}int min(int a,int b){int k;k=a*b/max(a,b);return k;}int main(){int x,y;cin>>x>>y;cout<<"最大公约数:"<<max(x,y)<<endl;    cout<<"最小公倍数:"<<min(x,y)<<endl;return 0;}







0 0
原创粉丝点击