同济大学C++mooc第五、六讲参考答案

本文提供了同济大学C++在线课程第五、六讲的编程题目详解,包括求数组最大值、最小值、平均值,排序,数组右移,二分查找,杨辉三角形,字符串操作等实战练习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

同济大学C++moooc第5、6讲

第五讲

第一题

随机产生10个30~100(包括30,100)的正整数,求它们的最大值、最小值、平均值,并显示整个数组的值和结果。

代码片.

//     
#include<iostream>
    const int n = 10;
    using namespace std;
    int main()
    {
   
        int s[n],i,j,t,sum=0;
        for (i = 0; i < n; i++)
        {
   
            s[i] = rand()%71+30;
            sum += s[i];
        }
        cout << "数组中的元素有:" ;
        for (i = 0; i < n; i++)
        {
   
            cout<<s[i]<<" ";
        }
        cout <<  endl;
        for (i = n - 1; i > 0; i--)
        {
   
            for (j = i - 1; j >= 0; j--)
            {
   
                if (s[i] > s[j])
                {
   
                    t = s[j];
                    s[j] = s[i];
                    s[i] = t;
                }
            }
        }
         
         
        cout << "最大值为:" << s[0] << endl;
        cout << "最小值为:" << s[n-1] << endl;
        cout << "平均值为:" << (double)sum/n<< endl;
        system("pause");
    }

第二题

随机产生20个学生的计算机课程的成绩(0~100),按照从大到小的顺序排序,分别显示排序前和排序后的结果。

代码片.

//  
    #include<iostream>
    const int n = 20;
    using namespace std;
    int main()
    {
   
        int s[n],i,j,t ;
        for (i = 0; i < n; i++
### 华中科技大学 C++ MOOC章 内容概览 #### 6.1 类与对象 本章节深入探讨类和对象的概念及其应用。通过定义类来封装数据成员和成员函数,实现面向对象编程的核心理念[^1]。 #### 6.2 构造函数与析构函数 构造函数用于初始化新创建的对象,而析构函数则负责清理工作,在对象生命周期结束时自动调用。这部分内容强调了资源管理的重要性,并介绍了不同类型的构造函数(默认构造函数、拷贝构造函数等)以及如何自定义这些特殊成员函数。 #### 6.3 继承机制 继承允许一个类从另一个现有类派生出来,从而获得基类的功能并可以扩展或修改其行为。解单重继承和多重继承的区别,以及虚基类的作用,帮助理解复杂的类层次结构设计原则。 #### 6.4 多态性 多态特性使得程序能够处理具有相同接口的不同类型的数据。具体表现为通过指针或引用来操作基类类型变量指向的具体子类实例,实现了运行期绑定(动态联编)。这里会详细介绍纯虚函数和抽象类的应用场景。 #### 6.5 运算符重载 为了使用户定义的类型像内置类型一样自然地参与表达式的运算,C++ 支持运算符重载功能。这不仅限于基本算术运算符还包括流插入/提取运算符 << 和 >> 的重载方法介绍,让自定义类型也能方便地进行输入输出操作。 ```cpp class Complex { private: double real; double imag; public: // 默认构造函数 Complex() : real(0), imag(0) {} // 参数化构造函数 Complex(double r, double i) : real(r), imag(i) {} // 成员函数声明... }; // 定义加法运算符重载 Complex operator+(const Complex& lhs, const Complex& rhs){ return Complex(lhs.real + rhs.real, lhs.imag + rhs.imag); } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值