C++编程经典练习题(有解析)

2024-01-09 17:45:13

以下是三个C++编程问题,难度逐渐增加,并给出相应的解答。希望可以帮助大家提升一下自身能力。

程序 1:基础数组操作

问题描述:
编写一个C++程序,创建一个整数数组,实现以下功能:

  1. 填充数组:数组大小为10,元素为0到9。
  2. 输出数组:按顺序打印数组元素。
  3. 求和:计算并输出数组元素的总和。

解答:

#include <iostream>
using namespace std;

int main() {
    int array[10];
    int sum = 0;

    // 填充数组
    for(int i = 0; i < 10; i++) {
        array[i] = i;
    }

    // 输出数组和求和
    for(int i = 0; i < 10; i++) {
        cout << array[i] << " ";
        sum += array[i];
    }
    cout << "\n数组总和为: " << sum << endl;

    return 0;
}

程序 2:类与对象

问题描述:
编写一个C++程序,定义一个名为Circle的类来表示圆,其中:

  1. 有一个私有成员变量表示半径(radius)。
  2. 有一个构造函数,可以初始化半径。
  3. 有成员函数计算并返回圆的面积。

解答:

#include <iostream>
using namespace std;

class Circle {
private:
    double radius;

public:
    Circle(double r) : radius(r) {}

    double area() {
        return 3.14159 * radius * radius;
    }
};

int main() {
    Circle circle(5.0);
    cout << "圆的面积为: " << circle.area() << endl;
    return 0;
}

程序 3:动态内存管理

问题描述:
编写一个C++程序,使用动态内存分配来创建一个整数数组,然后:

  1. 用户输入数组的大小。
  2. 填充数组:数组元素为其索引的平方。
  3. 输出数组元素。
  4. 释放内存。

解答:

#include <iostream>
using namespace std;

int main() {
    int size;
    cout << "输入数组大小: ";
    cin >> size;

    // 动态分配内存
    int* array = new int[size];

    // 填充数组
    for(int i = 0; i < size; i++) {
        array[i] = i * i;
    }

    // 输出数组
    for(int i = 0; i < size; i++) {
        cout << array[i] << " ";
    }
    cout << endl;

    // 释放内存
    delete[] array;

    return 0;
}

这三个问题和解答涵盖了C++的基础知识,类与对象的概念,以及动态内存管理。这些程序的难度逐步增加,可以帮助你更好地理解和掌握C++编程。

更多内容请访问:链接:https://pan.baidu.com/s/19mS5N9XJ_AotF20kUwSA3w?pwd=p5kx
提取码:p5kx
复制这段内容后打开百度网盘手机App,操作更方便哦

文章来源:https://blog.csdn.net/qqerrr/article/details/135484536
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。