首页 > 代码库 > C++ 第一次上机作业

C++ 第一次上机作业

今天完成了C++第一次上机作业,感觉比较简单。

题目:

  1. 求2个数或3个正整数中的最大数,用带有默认参数的函数实现。
  2. 对3个变量按由小到大顺序排序,要求使用变量的引用。
  3. 编写一个程序,用同一个函数名对几个数据进行从小到大排序,数据类型可以是整型、浮点型。用重载函数实现。
  4. 对第4题改用函数模板实现,并与第4题程序进行对比分析。

第一题代码:

 

 1 #include<iostream> 2 using namespace std; 3  4 void max(int a=0,int b=0,int c=0) 5 { 6     a= a>b ? a : b; 7     a= a>c ? a : c; 8     cout<<a<<endl; 9 }10 11 int main()12 {13     max(1,2);14     max(1,2,3);15     return 0;16 }

 

第二题代码:

#include<iostream>using namespace std;void sort(int &a,int &b,int &c){    int tmp;    if(a>b) {tmp=a;a=b;b=tmp;}    if(b>c) {tmp=b;b=c;c=tmp;}    if(a>b) {tmp=a;a=b;b=tmp;}}int main(){    int a1=3,a2=2,a3=1;    sort(a1,a2,a3);    cout<<a1<<" "<<a2<<" "<<a3<<endl;}

第三题代码:

 1 #include<iostream> 2 using namespace std; 3  4 void sort(int* a){                     //冒泡排序 5     int t; 6     for(int j=4;j>0;j--) 7         for(int i=0;i<=j-1;i++) 8             if(a[i]>a[i+1]) 9             {t=a[i];a[i]=a[i+1];a[i+1]=t;}10     for(int i=0;i<5;i++)11         cout<<a[i]<<" ";12 }13 14 void sort(float* a){15     float t;16     for(int j=4;j>0;j--)17         for(int i=0;i<=j-1;i++)18             if(a[i]>a[i+1])19             {t=a[i];a[i]=a[i+1];a[i+1]=t;}20     for(int i=0;i<5;i++)21         cout<<a[i]<<" ";22 }23 24 int main()25 {26     int a[5]={5,4,2,1,3};27     float b[5]={5.1,4.1,2.1,1.1,3.1};28     sort(a);29     sort(b);30     return 0;31 }32     

第四题代码:

 1 #include<iostream> 2 using namespace std; 3 template<typename T> 4 int Partition(T* cp,int low,int high) 5 { 6     T tmp=cp[low]; 7     T pivotkey=cp[low]; 8     while(low<high) 9     {10         while(low<high&&cp[high]>=pivotkey) --high;11         cp[low]=cp[high];12         while(low<high&&cp[low]<=pivotkey) ++low;13         cp[high]=cp[low];14     }15     cp[low]=tmp;16     return low;17 }18 template<typename T>19 void Qsort(T* cp,int low,int high)       //快速排序20 {21     if(low<high)22     {23         int pivotloc=Partition(cp,low,high);24         Qsort(cp,low,pivotloc-1);25         Qsort(cp,pivotloc+1,high);26     }27 }28 int main()29 {30     int a[5]={5,4,2,1,3};31     float b[5]={5.1,4.1,2.1,1.1,3.1};32     Qsort(a,0,4);33     Qsort(b,0,4);34     for(int i=0;i<5;i++)35     {36         cout<<a[i]<<" "<<b[i]<<endl;37     }38     return 0;39 }

******

 

C++ 第一次上机作业