編寫兩個函數,其功能分別是:
① 求N個整數的次大值和次小值。
② 求兩個整數的最大公約數和最小公倍數。
#include<iostream>
using namespace std;
void main()
{
int secondlarge, secondsmall;
int *p1;
int *p2;
int n;
cout<<"輸入數目的個數"<<endl;
cin>>n;
p1=new int [n];
p2=new int[n];
cout<<"輸入"<<n<<"個數"<<endl;
for(int i=0;i<n;i++)
{
cin>>p1[i];
p2[i]=p1[i];
}
for(int j=0;j<n;j++)
{
int counter1=0;
int counter2=0;
for(int k=0;k<n;k++)
{
if(p1[j]>=p2[k])
counter1++;
if(p1[j]<=p2[k])
counter2++;
}
if(counter1==n-1)
secondlarge=p1[j];
if(counter2==n-1)
secondsmall=p1[j];
}
cout<<"次大數為 "<<secondlarge<<endl;
cout<<"次小數為 "<<secondsmall<<endl;
cin.get();
cin.get();
}
#include <iostream>
using namespace std;
int main()
{
int i,j,k,r,m;
cout<<"請輸入兩個數:"<<endl;
cin>>i>>j;
m=i*j;
if(i<j)
{
k=i;
i=j;
j=k;
}
if(i%j!=0)
{
r=i%j;
i=j;
j=r;
}
m=m/j;
cout<<i<<"和"<<j<<"的最大公因數為:"<<j<<endl;
cout<<i<<"和"<<j<<"的最小公倍數為:"<<m<<endl;
return 0;
}