项目2:最大公约数和最小公倍数
#include <iostream>
using namespace std;
int result;
int f1(int a, int b)
{
int t,r;
if(a>b)
r=a%b;
else
{
t=a;
a=b;
b=t;
r=a%b;
}
while(r!=0)
{
a=b;
b=r;
r=a%b;
}
result=b;
}
int f2(int a,int b)
{
int r;
r=(a*b)/result;
return r;
}
int main()
{
int a,b;
cout<<"请输入两个整数:";
cin>>a>>b;
f1(a,b);
cout<<a<<"与"<<b<<"的最大公约数是:";
cout<<result<<endl;
cout<<a<<"与"<<b<<"的最小公倍数是:";
cout<<f2(a,b)<<endl;
return 0;
}
项目4——数组素数排序
#include <iostream>
using namespace std;
void sort(int p[],int n)
{
for(int i=1; i<n; i++)
for(int j=0; j<n-i; j++)
if(p[j]>p[j+1])
{
int t=p[j];
p[j]=p[j+1];
p[j+1]=t;
}
}
bool prime(int x)
{
for(int i=2; i<x; i++)
if(x%i==0) return 0;
return 1;
}
void print(int p[],int n)
{
for(int i=0; i<n; i++)
cout<<p[i]<<" ";
}
int main()
{
int a[10]= {2,13,5,47,19,53,27,23,28,11},b[10];
int i,j=0,k;
for(i=0; i<10; i++)
{
if(prime(a[i]))
b[j++]=a[i];
}
k=j;
cout<<"排序前b数组为:\n";
print(b,k);
cout<<endl;
sort(b,k);
cout<<"排序后b数组为:\n";
print(b,k);
return 0;
}