面向对象程序设计-实验2

题目1

6-1 使用动态内存分配的冒泡排序

代码清单:

#include <iostream>

using namespace std;

int* bubble_sort(int n);/* 对长度为n的数组执行冒泡排序 */

int main()

{

    int n;

    cin >> n;

    int* a = bubble_sort(n);

    for (int i = 0; i < n; i++) {

        cout << a[i];

        if (i < n - 1)cout << " ";

    }

    cout << endl;

    return 0;

}

int* bubble_sort(int n)

{

int* r = new int[n];

for (int i = 0; i < n; i++)

{

cin >> r[i];

}

for (int i = 0; i < n; i++)

{

for (int j = 0; j < n-i-1; j++)

{

if (r[j] > r[j + 1])

{

int temp = r[j];

 r[j]= r[j+1];

r[j + 1] = temp;

}

}

}

return r;

}

运行结果截图

题目2

7-1 用引用变量作为形参,实现3个整数由小到大输出

代码清单:

#include<iostream>

using namespace std;

void swap(int &a,int &b,int &c)

{

    int tamp;

    if(a>b)

    {

        tamp=a;

        a=b;

        b=tamp;

    }

    if(b>c)

    {

        tamp=b;

        b=c;

        c=tamp;

    }

    if(a>c)

    {

        tamp=a;

        a=c;

        c=tamp;

    }

        if(a>b)

    {

        tamp=a;

        a=b;

        b=tamp;

    }

}

int main()

{

    int a,b,c;

    cin>>a>>b>>c;

    swap(a,b,c);

    cout<<a<<" "<<b<<" "<<c<<endl;

    return 0;

}

运行结果截图

题目3

7-2 函数重载(数据类型不同)

代码清单:

#include<iostream>

using namespace std;

void px(int n,int a[])

{

    for(int i=0;i<n;i++)

    {

        for(int j=0;j<n-i-1;j++)

        {

            int t;

            if(a[j]>a[j+1])

            {

                t=a[j];

                a[j]=a[j+1];

                a[j+1]=t;

            }

        }

    }

}

void px(int n,double b[])

{

    for(int i=0;i<n;i++)

    {

        for(int j=0;j<n-i-1;j++)

        {

            double t;

            if(b[j]>b[j+1])

            {

                t=b[j];

                b[j]=b[j+1];

                b[j+1]=t;

            }

        }

    }

}

int main()

{

    int n;

    cin>>n;

    int a[n];

    for(int i=0;i<n;i++)

        cin>>a[i];

    double b[n];

    for(int i=0;i<n;i++)

        cin>>b[i];

    

    

    px(n,a);

    px(n,b);

    

    

    for(int i=0;i<n;i++)

    {

        cout<<a[i]<<" ";

    }

    cout<<endl;

    

    

    for(int i=0;i<n;i++)

        cout<<b[i]<<" ";

    return 0;

}

运行结果截图

题目4

7-3 字符统计

代码清单:

#include<iostream>

#include<string.h>

using namespace std;

int main()

{

    int n1=0,n2=0,n3=0,n4=0,n5=0;

    char arr[100];

    int i=0,n=0;

    scanf("%c",&arr[i]);

    while(arr[i]!='\n')

    {

        if(arr[i]>='0'&&arr[i]<='9')

            n1++;

        else if(arr[i]>='A'&&arr[i]<='Z')

            n2++;

        else if(arr[i]>='a'&&arr[i]<='z')

            n3++;

        else if(arr[i]==' ')

            n4++;

        else

            n5++;

        i++;

        scanf("%c",&arr[i]);

    }

    printf("n1=%d  n2=%d  n3=%d  n4=%d  n5=%d",n1,n2,n3,n4,n5);

        return 0;

    

}

运行结果截图

题目5

7-5 设计一个矩形类Rectangle并创建测试程序(C++)

代码清单:

#include<iostream>

using namespace std;

class Rectangle

{

    double width,height;

    public:

    Rectangle(double a=1,double b=1)

    {

        width=a;

        height=b;

    }

    double getArea()

    {

        return width*height;

    }

    double get()

    {

        return 2*(width+height);

    }

};

int main()

{  

    double w,h;

    cin>>w>>h;

    Rectangle c1(w,h);

    double zc;

    double mj;

    zc=c1.getArea();

    mj=c1.get();

    cout<<zc<<endl;

    cout<<mj;

    return 0;

}

运行结果截图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值