C++从基础语法到递归、重载与宏定义 题目及题解1 判定素数编写程序用一个函数判定输入的某个数是否为素数。12345678910111213141516171819#include iostream#include cmath// 判定素数函数boolisPrime(intn) {if(n 2)returnfalse;for(inti 2; i sqrt(n); i) {if(n % i 0)returnfalse;}returntrue;}intmain(){intnum;std::cout 输入一个整数: ;std::cin num;if(isPrime(num)) std::cout num 是素数 std::endl;elsestd::cout num 不是素数 std::endl;return0;}2 统计奇偶数从键盘依次输入一列整数输入0结束编写函数统计输入的整数序列中的奇数个数和偶数个数在主函数中调用该函数并求输入的整数序列中的奇数个数和偶数个数。1234567891011121314151617#include iostream// 统计函数通过引用返回结果voidcountNumber(intodd,inteven) {intval;while(std::cin val val ! 0) {if(val % 2 0) even;elseodd;}}intmain(){intoddCount 0, evenCount 0;std::cout 请输入一列整数0结束: std::endl;countNumber(oddCount, evenCount);std::cout 奇数: oddCount 个偶数: evenCount 个 std::endl;return0;}3 带默认参数的阶乘定义一个带默认参数值的函数求 n ! n! n!在主函数中调用两次该函数一次给出实参另一次不给实参体会默认值的意义。1234567891011121314#include iostreamlonglongfactorial(intn 5) {longlongres 1;for(inti 1; i n; i) res * i;returnres;}intmain(){// 给出实参std::cout 3! factorial(3) std::endl;// 不给实参使用默认值 5std::cout 默认(5!) factorial() std::endl;return0;}4 求a ! b ! c ! a! b! c!a!b!c!求 a ! b ! c ! a!b!c! a!b!c! 的值要求用两个函数实现函数 fac 求 n ! n! n!函数 add 求三者之和。 a a a、 b b b、 c c c 的值由主函数输入最终得到的值在主函数中输出。1234567891011121314151617#include iostreamlonglongfac(intn) {longlongres 1;for(inti 1; i n; i) res * i;returnres;}longlongadd(longlongx,longlongy,longlongz) {returnx y z;}intmain(){inta, b, c;std::cout 输入 a, b, c: ;std::cin a b c;std::cout 结果: add(fac(a), fac(b), fac(c)) std::endl;return0;}5 判定闰年编写一个程序判定用户输入的年份是否为闰年。闰年的判定用名为 isLeapYear 的 bool 型函数实现。12345678910111213#include iostreamboolisLeapYear(intyear) {return(year % 4 0 year % 100 ! 0) || (year % 400 0);}intmain(){inty;std::cout 输入年份: ;std::cin y;if(isLeapYear(y)) std::cout 是闰年 std::endl;elsestd::cout 不是闰年 std::endl;return0;}6 递归求斐波那契数列12345678910111213#include iostreamintfib(intn) {if(n 1 || n 2)return1;returnfib(n - 1) fib(n - 2);}intmain(){intn;std::cout 输入 n: ;std::cin n;std::cout 第 n 个数是: fib(n) std::endl;return0;}7 验证哥德巴赫猜想写一个函数验证哥德巴赫猜想一个不小于6的偶数可以分解为两个素数之和。要求在主函数中输入一个偶数 n n n判定 n n n 与6的大小。如果 n n n 不小于6则调用函数 gotbaha在 gotbaha 函数中再调用判定素数的函数 prime并在主函数中输出“633”形式的结果。如果 n n n 小于6则程序结束。1234567891011121314151617181920212223242526#include iostream#include cmathboolprime(intn) {if(n 2)returnfalse;for(inti 2; i sqrt(n); i) {if(n % i 0)returnfalse;}returntrue;}voidgotbaha(intn) {for(inti 2; i n / 2; i) {if(prime(i) prime(n - i)) {std::cout n i (n - i) std::endl;return;}}}intmain(){intn;std::cout 输入一个偶数: ;std::cin n;if(n 6 n % 2 0) gotbaha(n);elsestd::cout 程序结束 std::endl;return0;}8 函数重载 add使用 add 作为重载函数名分别定义求3个整数之和的函数和求两个浮点数之和的函数并编程实现。123456789#include iostreamintadd(inta,intb,intc) {returna b c; }floatadd(floata,floatb) {returna b; }intmain(){std::cout 3个整数和: add(1, 2, 3) std::endl;std::cout 2个浮点数和: add(1.5f, 2.5f) std::endl;return0;}9 内联函数求和在主函数中输入两个数 m , n m, n m,n用内联函数求和并输出结果。123456789#include iostreaminlineintgetSum(intm,intn) {returnm n; }intmain(){intm, n;std::cin m n;std::cout 和为: getSum(m, n) std::endl;return0;}10 头文件实现最大值编写一个程序将求两个实数中较大值的函数放在一个头文件中在源程序文件中包含该头文件并实现输入3个实数求出最大值。my_max.h1234#ifndef MY_MAX_H#define MY_MAX_HinlinedoublegetMax(doublea,doubleb) {return(a b) ? a : b; }#endifmain.cpp12345678910#include iostream#include my_max.hintmain(){doublea, b, c;std::cin a b c;doubleres getMax(getMax(a, b), c);std::cout 最大值: res std::endl;return0;}11 带参数的宏求乘积编写一个程序输入两个整数求它们的乘积。用带参数的宏实现。123456789#include iostream#define MUL(a, b) ((a) * (b))intmain(){intx, y;std::cin x y;std::cout 乘积: MUL(x, y) std::endl;return0;}12 递归逆序输出编写一个递归函数将整数的每个位上的数字按相反的顺序输出。例如输入5678输出8765。12345678910111213141516#include iostreamvoidreverse(intn) {if(n 0)return;std::cout n % 10;reverse(n / 10);}intmain(){intn;std::cout 输入整数: ;std::cin n;if(n 0) std::cout 0;elsereverse(n);std::cout std::endl;return0;}结尾到此这篇关于C从基础语法到递归、重载与宏定义的文章就介绍到这了

相关新闻

最新新闻

充电站底层脱机DLB引擎解构:基于Linux调度的边缘计算网关并发控制实战

充电站底层脱机DLB引擎解构:基于Linux调度的边缘计算网关并发控制实战

摘要:面向管理规模超两千个节点的超大型充电场站,传统的依赖广域网进行中心化动态负荷均衡(DLB)的架构正面临严峻的延迟与宕机考验。本文从底层分布式计算与内存状态机隔离的技术视角,深度剖析了防线前置在化解高频断网…

2026/8/20 23:47:02
AI 树形会话分支管理方案

AI 树形会话分支管理方案

整体思路:前端维护树形节点数组 activePath激活路径,上下文主体存储在后端;节点原始数据不被修改,用于前端渲染完整历史记录;摘要 / 浓缩产物为额外附属字段,不污染原始节点内容;两种触发总结逻…

2026/8/20 23:47:02
基于爬虫算法的天气统计分析系统大数据分析项目案例大数据可视化

基于爬虫算法的天气统计分析系统大数据分析项目案例大数据可视化

随着城市化进程的加速,天气变化对居民生活和社会经济的影响日益显著。为了有效统计和分析天气信息,我们开发了一个基于爬虫算法的天气统计分析系统。该系统采用Python编程语言,结合Pandas数据处理库和MySQL数据库,实现对海量天气数…

2026/8/20 23:47:02
基于数据挖掘的3A游戏用户评论数据分析与可视化大数据分析项目案例大数据可视化

基于数据挖掘的3A游戏用户评论数据分析与可视化大数据分析项目案例大数据可视化

随着科技的飞速发展和数字娱乐产业的蓬勃兴起,视频游戏行业已成为全球娱乐市场的支柱之一。游戏类型的多样化、平台的扩展以及玩家群体的全球化,使得游戏产业的数据量和复杂度日益增加。这些数据不仅涵盖了玩家行为、市场销售、用户评价等多个维度&#…

2026/8/20 23:47:02
工具链上线配置怎样收口

工具链上线配置怎样收口

工具链上线配置怎样收口 这篇要解决什么 工具链上线配置怎样收口讨论的是一个可复查的工程问题。工具链上线配置怎样收口不拿未经记录的事故、跑分或成本当作论据;判断需要回到当前项目的输入、版本和运行条件。 从边界开始 处理工具链上线配置怎样收口时&#xff0…

2026/8/20 23:47:02
基于Springboot+vue的农产品销售管理系统(毕设源码+文档)

基于Springboot+vue的农产品销售管理系统(毕设源码+文档)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/20 23:42:01