C++经典程序

在C++编程中,有几个被广泛认为是"经典"的程序。这些程序经常被用来教授C++的基础概念、演示特定的编程技巧,或者作为初学者学习和实践的好例子。下面是一些C++中的经典程序:

  1. Hello World程序

    cpp 复制代码
    #include <iostream>
    using namespace std;
    
    int main() {
        cout << "Hello, World!" << endl;
        return 0;
    }

    这是最基本的C++程序,用于演示如何输出文本到控制台。

  2. 阶乘程序

    cpp 复制代码
    #include <iostream>
    using namespace std;
    
    int factorial(int n) {
        if (n == 0) return 1;
        return n * factorial(n - 1);
    }
    
    int main() {
        int n;
        cout << "Enter a positive integer: ";
        cin >> n;
        cout << "Factorial of " << n << " = " << factorial(n) << endl;
        return 0;
    }

    这个程序展示了递归函数的使用,计算给定数的阶乘。

  3. Fibonacci数列程序

    cpp 复制代码
    #include <iostream>
    using namespace std;
    
    int fibonacci(int n) {
        if (n <= 1) return n;
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
    
    int main() {
        int n;
        cout << "Enter the number of terms: ";
        cin >> n;
        cout << "Fibonacci Series: ";
        for (int i = 0; i < n; i++) {
            cout << fibonacci(i) << " ";
        }
        cout << endl;
        return 0;
    }

    这个程序通过递归函数生成Fibonacci数列。

  4. 排序算法(如冒泡排序)

    cpp 复制代码
    #include <iostream>
    using namespace std;
    
    void bubbleSort(int arr[], int n) {
        for (int i = 0; i < n-1; i++)     
            for (int j = 0; j < n-i-1; j++) 
                if (arr[j] > arr[j+1])
                    swap(arr[j], arr[j+1]);
    }
    
    int main() {
        int arr[] = {64, 34, 25, 12, 22, 11, 90};
        int n = sizeof(arr)/sizeof(arr[0]);
        bubbleSort(arr, n);
        cout << "Sorted array: \n";
        for (int i=0; i < n; i++)
            cout << arr[i] << " ";
        cout << endl;
        return 0;
    }

    这个程序演示了基本的冒泡排序算法。

这些程序展示了C++的基本结构和一些常见的编程概念,如循环、递归、数组处理等。对于初学者来说,理解和实践这些程序是学习C++的一个很好的起点。

相关推荐
xiaoye-duck3 分钟前
吃透C++类和对象(中):拷贝构造函数的深度解析
c++
free-elcmacom6 分钟前
机器学习高阶教程<6>推荐系统高阶修炼手册:混排、多任务与在线学习,解锁精准推荐新境界
人工智能·python·学习·算法·机器学习·机器人
断剑zou天涯7 分钟前
【算法笔记】AC自动机
java·笔记·算法
IT猿手10 分钟前
基于粒子群算法与动态窗口混合的无人机三维动态避障路径规划研究,MATLAB代码
算法·matlab·无人机·多目标优化算法·多目标算法
民乐团扒谱机11 分钟前
【微实验】仿AU音频编辑器开发实践:从零构建音频可视化工具
算法·c#·仿真·audio·fft·频谱
DanyHope14 分钟前
LeetCode 283. 移动零:双指针双解法(原地交换 + 覆盖补零)全解析
数据结构·算法·leetcode
山土成旧客16 分钟前
【Python学习打卡-Day24】从不可变元组到漫游文件系统:掌握数据结构与OS模块
数据结构·python·学习
bulingg29 分钟前
集成模型:gbdt,xgboost,lightgbm,catboost
人工智能·算法·机器学习
d111111111d31 分钟前
编码器测速详情解释:PID闭环控制
笔记·stm32·单片机·嵌入式硬件·学习·算法
麒qiqi36 分钟前
【Linux 进程间通信】信号通信与共享内存核心解析
java·linux·算法