# CPP Test **Repository Path**: bestACE/cpp-test ## Basic Information - **Project Name**: CPP Test - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-30 - **Last Updated**: 2025-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C++ 基础学习案例集(001-025) ## 项目概述 本项目包含25个C++基础学习案例(001-025),涵盖了C++编程的核心知识点和常用算法。这些案例从简单的输入输出开始,逐步过渡到复杂的算法实现,适合C++初学者系统学习。 ## 目录结构 ``` cpp-test/ ├── 001.cpp ~ 025.cpp # C++ 案例源代码文件 ├── codeSnap/ # 案例运行截图(部分) └── README.md # 项目说明文档 ``` ## 案例分类与说明 ### 一、基础输入输出与条件判断(001-004) 这类案例主要介绍C++的基础输入输出操作和条件判断语句,帮助初学者掌握程序的基本结构和用户交互方式。 #### 001.cpp - 用户信息输入与判断 - **程序名称**:用户信息输入与判断 - **文件编号**:001.cpp - **功能**:获取用户信息并判断是否成年 - **核心知识点**: - 标准输入输出流(cin/cout) - 字符串处理(getline) - 条件判断(if-else) - 基本数据类型(int, string) #### 002.cpp - 用户信息输入与判断(带循环) - **程序名称**:用户信息输入与判断 - **文件编号**:002.cpp - **功能**:获取用户信息并验证是否成年,包含循环演示 - **核心知识点**: - 输入输出操作(cin/cout) - 条件判断与循环结构 - 命名空间使用(using namespace std) - 函数返回值(main函数) #### 003.cpp - 分数等级计算 - **程序名称**:分数等级计算 - **文件编号**:003.cpp - **功能**:根据输入分数计算并输出对应等级 - **核心知识点**: - 多分支条件判断(if-else if-else) - 成绩等级划分逻辑 - 输入验证 #### 004.cpp - 闰年判断 - **程序名称**:闰年判断 - **文件编号**:004.cpp - **功能**:根据格里高利历规则判断用户输入的年份是否为闰年 - **核心知识点**: - 条件判断(if-else) - 数学运算(取模运算符%) - 闰年判断规则 ### 二、数论与算法基础(005-010) 这类案例主要介绍数论基础和简单算法,帮助初学者理解算法的基本思想和实现方法。 #### 005.cpp - 水仙花数判断 - **程序名称**:水仙花数判断 - **文件编号**:005.cpp - **功能**:判断一个数是否为水仙花数 - **核心知识点**: - 水仙花数定义(n位数,各位数字的n次幂之和等于该数本身) - 数字分解(获取各位数字) - 数学运算(pow函数) - 条件判断 #### 006.cpp - 素数判断 - **程序名称**:素数判断 - **文件编号**:006.cpp - **功能**:判断一个正整数是否为素数 - **核心知识点**: - 素数定义与判断方法 - 循环结构(for) - 数学运算(求余运算符%) - 逻辑判断 #### 007.cpp - 回文数判断 - **程序名称**:回文数判断 - **文件编号**:007.cpp - **功能**:判断一个正整数是否为回文数 - **核心知识点**: - 回文数定义(从左到右和从右到左读都一样的数字) - 数字反转算法 - 循环结构 - 条件判断 #### 008.cpp - 完美数判断 - **程序名称**:完美数判断 - **文件编号**:008.cpp - **功能**:判断一个正整数是否为完美数 - **核心知识点**: - 完美数定义(等于其所有真因子之和) - 因子查找算法 - 循环结构 - 累加运算 #### 009.cpp - 斐波那契数判断 - **程序名称**:斐波那契数判断 - **文件编号**:009.cpp - **功能**:判断一个正整数是否为斐波那契数 - **核心知识点**: - 斐波那契数列定义 - 数学性质应用(5n²+4或5n²-4是完全平方数) - 循环结构 - 数学运算 #### 010.cpp - 自守数判断 - **程序名称**:自守数判断 - **文件编号**:010.cpp - **功能**:判断一个正整数是否为自守数 - **核心知识点**: - 自守数定义(平方的末尾几位等于该数本身) - 数字位数计算 - 数学运算(取模运算) - 条件判断 ### 三、图案打印与循环应用(011-015) 这类案例主要介绍如何使用循环结构打印各种图案,帮助初学者掌握循环的嵌套使用和空间位置控制。 #### 011.cpp - 九九乘法表 - **程序名称**:九九乘法表 - **文件编号**:011.cpp - **功能**:使用双重循环打印格式化的九九乘法表 - **核心知识点**: - 双重for循环结构 - 格式化输出 - 乘法表生成逻辑 #### 012.cpp - 自定义金字塔打印 - **程序名称**:自定义金字塔打印 - **文件编号**:012.cpp - **功能**:根据用户输入的层数和字符,打印金字塔图案 - **核心知识点**: - 循环嵌套与对称图案 - 空格与字符数量计算 - 图案打印算法 #### 013.cpp - 自定义菱形打印 - **程序名称**:自定义菱形打印 - **文件编号**:013.cpp - **功能**:根据用户输入的层数和字符,打印菱形图案 - **核心知识点**: - 菱形结构分析 - 对称图案的打印方法 - 循环嵌套的综合应用 #### 014.cpp - 自定义沙漏打印 - **程序名称**:自定义沙漏打印 - **文件编号**:014.cpp - **功能**:根据用户输入的层数和字符,打印沙漏图案 - **核心知识点**: - 复杂图案的分区域处理 - 数学公式计算(层数、空格、字符数) - 循环嵌套的综合应用 #### 015.cpp - 空心菱形打印 - **程序名称**:空心菱形打印 - **文件编号**:015.cpp - **功能**:根据用户输入的层数和字符,打印空心菱形图案 - **核心知识点**: - 空心菱形的结构分析 - 对称图案的打印方法 - 条件判断与位置控制 ### 四、数组操作与算法(016-020) 这类案例主要介绍数组的基本操作和常用算法,帮助初学者掌握数据结构的基本概念和算法实现。 #### 016.cpp - 数组逆序输出 - **程序名称**:数组逆序输出 - **文件编号**:016.cpp - **功能**:读入n个整数并逆序输出 - **核心知识点**: - 数组的定义与使用 - 循环结构与数组遍历 - 数组元素的访问与输出 #### 017.cpp - 最大最小数计算 - **程序名称**:最大最小数计算 - **文件编号**:017.cpp - **功能**:输入n个整数,计算并输出最大数和最小数 - **核心知识点**: - 动态内存分配(new[]/delete[]) - 数组遍历与比较 - 最值查找算法 #### 018.cpp - 数组求和与平均值计算 - **程序名称**:数组求和与平均值计算 - **文件编号**:018.cpp - **功能**:输入n个整数,计算并输出它们的和与平均值 - **核心知识点**: - 动态内存管理 - 数组遍历与累加 - 基本数学运算 #### 019.cpp - 数组元素去重 - **程序名称**:数组元素去重 - **文件编号**:019.cpp - **功能**:输入n个整数,去除重复元素后输出 - **核心知识点**: - 动态内存分配与释放 - 数组遍历与元素比较 - 去重算法实现 #### 020.cpp - 数组冒泡排序 - **程序名称**:数组冒泡排序 - **文件编号**:020.cpp - **功能**:输入n个整数,使用冒泡排序算法排序后输出 - **核心知识点**: - 动态内存管理 - 冒泡排序算法 - 嵌套循环与元素交换 ### 五、函数相关(021-025) 这类案例主要介绍C++中函数的定义、调用和高级特性,帮助初学者掌握模块化编程的基本思想和实现方法。 #### 021.cpp - 函数的定义与调用 - **程序名称**:函数的定义与调用 - **文件编号**:021.cpp - **功能**:演示C++中函数的基本定义和调用方法 - **核心知识点**: - 函数的声明与定义 - 函数的参数与返回值 - 函数调用 - 四则运算实现 #### 022.cpp - 素数判断函数 - **程序名称**:素数判断函数 - **文件编号**:022.cpp - **功能**:判断一个正整数是否为素数 - **核心知识点**: - 素数判断算法 - 数学函数应用(sqrt) - 条件判断与循环 - 函数的定义与调用 #### 023.cpp - 三角形面积计算 - **程序名称**:三角形面积计算 - **文件编号**:023.cpp - **功能**:使用海伦公式计算三角形面积 - **核心知识点**: - 海伦公式应用 - 数学函数应用(sqrt) - 三角形有效性判断 - 函数参数与返回值 #### 024.cpp - 斐波那契数列计算 - **程序名称**:斐波那契数列计算 - **文件编号**:024.cpp - **功能**:使用递归方法计算斐波那契数列的第n项 - **核心知识点**: - 递归函数定义 - 递归终止条件 - 斐波那契数列定义 - 输入范围检查 #### 025.cpp - 字符串单词计数 - **程序名称**:字符串单词计数 - **文件编号**:025.cpp - **功能**:统计字符串中的单词数(单词由空格分隔) - **核心知识点**: - 字符数组处理 - 字符串遍历 - 状态标记法 - 函数的const参数 ## 编译与运行说明 ### 编译环境 - 支持C++11及以上标准的编译器 - 推荐使用:GCC(G++)、Clang、Visual Studio ### 编译命令 在项目根目录下,使用以下命令编译单个案例: ```bash g++ 001.cpp -o 001 ``` ### 运行命令 编译成功后,使用以下命令运行程序: ```bash ./001 ``` ## 学习建议 1. **循序渐进**:建议按照001到025的顺序学习,从简单到复杂,逐步掌握C++的核心知识点。 2. **动手实践**:不仅要阅读代码,更要亲自编译运行,观察结果,并尝试修改代码,加深理解。 3. **理解原理**:每个案例都有其核心知识点,要理解其背后的原理,而不仅仅是记住代码。 4. **扩展练习**:在掌握基础案例后,可以尝试扩展功能,例如添加输入验证、优化算法等。 5. **查阅文档**:遇到不理解的语法或函数,及时查阅C++标准文档或相关教程。 ## 版权信息 本项目为C++学习案例集,仅供学习参考使用。 --- **更新时间**:2025-12-30 **版本**:v1.1