最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++從基礎(chǔ)語法到遞歸、重載與宏定義

 更新時(shí)間:2026年04月10日 09:07:59   作者:艾莉絲努力練劍  
本文介紹了12個(gè)關(guān)于C++編程的練習(xí)題,涵蓋素?cái)?shù)判定、奇偶數(shù)統(tǒng)計(jì)、帶默認(rèn)參數(shù)的階乘、遞歸求解、函數(shù)重載與內(nèi)聯(lián)函數(shù)等內(nèi)容,每個(gè)練習(xí)旨在幫助理解函數(shù)的應(yīng)用、遞歸、默認(rèn)參數(shù)、函數(shù)重載、宏定義等概念,感興趣的朋友跟隨小編一起看看吧

題目及題解

1 判定素?cái)?shù)

編寫程序,用一個(gè)函數(shù)判定輸入的某個(gè)數(shù)是否為素?cái)?shù)。

#include <iostream>
#include <cmath>
// 判定素?cái)?shù)函數(shù)
bool isPrime(int n) {
    if (n < 2) return false;
    for (int i = 2; i <= sqrt(n); ++i) {
        if (n % i == 0) return false;
    }
    return true;
}
int main()
{
    int num;
    std::cout << "輸入一個(gè)整數(shù): ";
    std::cin >> num;
    if (isPrime(num)) std::cout << num << " 是素?cái)?shù)" << std::endl;
    else std::cout << num << " 不是素?cái)?shù)" << std::endl;
    return 0;
}

2 統(tǒng)計(jì)奇偶數(shù)

從鍵盤依次輸入一列整數(shù)(輸入0結(jié)束),編寫函數(shù),統(tǒng)計(jì)輸入的整數(shù)序列中的奇數(shù)個(gè)數(shù)和偶數(shù)個(gè)數(shù),在主函數(shù)中調(diào)用該函數(shù)并求輸入的整數(shù)序列中的奇數(shù)個(gè)數(shù)和偶數(shù)個(gè)數(shù)。

#include <iostream>
// 統(tǒng)計(jì)函數(shù):通過引用返回結(jié)果
void countNumber(int &odd, int &even) {
    int val;
    while (std::cin >> val && val != 0) {
        if (val % 2 == 0) even++;
        else odd++;
    }
}
int main() 
{
    int oddCount = 0, evenCount = 0;
    std::cout << "請輸入一列整數(shù)(0結(jié)束): " << std::endl;
    countNumber(oddCount, evenCount);
    std::cout << "奇數(shù): " << oddCount << " 個(gè),偶數(shù): " << evenCount << " 個(gè)" << std::endl;
    return 0;
}

3 帶默認(rèn)參數(shù)的階乘

定義一個(gè)帶默認(rèn)參數(shù)值的函數(shù)求 n ! n! n!,在主函數(shù)中調(diào)用兩次該函數(shù),一次給出實(shí)參,另一次不給實(shí)參,體會(huì)默認(rèn)值的意義。

#include <iostream>
long long factorial(int n = 5) {
    long long res = 1;
    for (int i = 1; i <= n; ++i) res *= i;
    return res;
}
int main() 
{
    // 給出實(shí)參
    std::cout << "3! = " << factorial(3) << std::endl;
    // 不給實(shí)參,使用默認(rèn)值 5
    std::cout << "默認(rèn)(5!) = " << factorial() << std::endl;
    return 0;
}

4 求a ! + b ! + c ! a! + b! + c!a!+b!+c!

a ! + b ! + c ! a!+b!+c! a!+b!+c! 的值,要求用兩個(gè)函數(shù)實(shí)現(xiàn):函數(shù) fac 求 n ! n! n!,函數(shù) add 求三者之和。 a a a、 b b b c c c 的值由主函數(shù)輸入,最終得到的值在主函數(shù)中輸出。

#include <iostream>
long long fac(int n) {
    long long res = 1;
    for (int i = 1; i <= n; ++i) res *= i;
    return res;
}
long long add(long long x, long long y, long long z) {
    return x + y + z;
}
int main() 
{
    int a, b, c;
    std::cout << "輸入 a, b, c: ";
    std::cin >> a >> b >> c;
    std::cout << "結(jié)果: " << add(fac(a), fac(b), fac(c)) << std::endl;
    return 0;
}

5 判定閏年

編寫一個(gè)程序,判定用戶輸入的年份是否為閏年。閏年的判定用名為 isLeapYear 的 bool 型函數(shù)實(shí)現(xiàn)。

#include <iostream>
bool isLeapYear(int year) {
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int main() 
{
    int y;
    std::cout << "輸入年份: ";
    std::cin >> y;
    if (isLeapYear(y)) std::cout << "是閏年" << std::endl;
    else std::cout << "不是閏年" << std::endl;
    return 0;
}

6 遞歸求斐波那契數(shù)列

#include <iostream>
int fib(int n) {
    if (n == 1 || n == 2) return 1;
    return fib(n - 1) + fib(n - 2);
}
int main() 
{
    int n;
    std::cout << "輸入 n: ";
    std::cin >> n;
    std::cout << "第 " << n << " 個(gè)數(shù)是: " << fib(n) << std::endl;
    return 0;
}

7 驗(yàn)證哥德巴赫猜想

寫一個(gè)函數(shù)驗(yàn)證哥德巴赫猜想:一個(gè)不小于6的偶數(shù)可以分解為兩個(gè)素?cái)?shù)之和。要求:在主函數(shù)中輸入一個(gè)偶數(shù) n n n,判定 n n n 與6的大小。如果 n n n 不小于6,則調(diào)用函數(shù) gotbaha,在 gotbaha 函數(shù)中再調(diào)用判定素?cái)?shù)的函數(shù) prime,并在主函數(shù)中輸出“6=3+3”形式的結(jié)果。如果 n n n 小于6,則程序結(jié)束。

#include <iostream>
#include <cmath>
bool prime(int n) {
    if (n < 2) return false;
    for (int i = 2; i <= sqrt(n); i++) {
        if (n % i == 0) return false;
    }
    return true;
}
void gotbaha(int n) {
    for (int i = 2; i <= n / 2; i++) {
        if (prime(i) && prime(n - i)) {
            std::cout << n << "=" << i << "+" << (n - i) << std::endl;
            return;
        }
    }
}
int main() 
{
    int n;
    std::cout << "輸入一個(gè)偶數(shù): ";
    std::cin >> n;
    if (n >= 6 && n % 2 == 0) gotbaha(n);
    else std::cout << "程序結(jié)束" << std::endl;
    return 0;
}

8 函數(shù)重載 add

使用 add 作為重載函數(shù)名,分別定義求3個(gè)整數(shù)之和的函數(shù)和求兩個(gè)浮點(diǎn)數(shù)之和的函數(shù),并編程實(shí)現(xiàn)。

#include <iostream>
int add(int a, int b, int c) { return a + b + c; }
float add(float a, float b) { return a + b; }
int main() 
{
    std::cout << "3個(gè)整數(shù)和: " << add(1, 2, 3) << std::endl;
    std::cout << "2個(gè)浮點(diǎn)數(shù)和: " << add(1.5f, 2.5f) << std::endl;
    return 0;
}

9 內(nèi)聯(lián)函數(shù)求和

在主函數(shù)中輸入兩個(gè)數(shù) m , n m, n m,n,用內(nèi)聯(lián)函數(shù)求和,并輸出結(jié)果。

#include <iostream>
inline int getSum(int m, int n) { return m + n; }
int main() 
{
    int m, n;
    std::cin >> m >> n;
    std::cout << "和為: " << getSum(m, n) << std::endl;
    return 0;
}

10 頭文件實(shí)現(xiàn)最大值

編寫一個(gè)程序,將求兩個(gè)實(shí)數(shù)中較大值的函數(shù)放在一個(gè)頭文件中,在源程序文件中包含該頭文件,并實(shí)現(xiàn)輸入3個(gè)實(shí)數(shù),求出最大值。

my_max.h

#ifndef MY_MAX_H
#define MY_MAX_H
inline double getMax(double a, double b) { return (a > b) ? a : b; }
#endif

main.cpp

#include <iostream>
#include "my_max.h"
int main() 
{
    double a, b, c;
    std::cin >> a >> b >> c;
    double res = getMax(getMax(a, b), c);
    std::cout << "最大值: " << res << std::endl;
    return 0;
}

11 帶參數(shù)的宏求乘積

編寫一個(gè)程序,輸入兩個(gè)整數(shù),求它們的乘積。用帶參數(shù)的宏實(shí)現(xiàn)。

#include <iostream>
#define MUL(a, b) ((a) * (b))
int main() 
{
    int x, y;
    std::cin >> x >> y;
    std::cout << "乘積: " << MUL(x, y) << std::endl;
    return 0;
}

12 遞歸逆序輸出

編寫一個(gè)遞歸函數(shù),將整數(shù)的每個(gè)位上的數(shù)字按相反的順序輸出。例如,輸入5678,輸出8765。

#include <iostream>
void reverse(int n) {
    if (n == 0) return;
    std::cout << n % 10;
    reverse(n / 10);
}
int main() 
{
    int n;
    std::cout << "輸入整數(shù): ";
    std::cin >> n;
    if (n == 0) std::cout << "0";
    else reverse(n);
    std::cout << std::endl;
    return 0;
}

結(jié)尾

到此這篇關(guān)于C++從基礎(chǔ)語法到遞歸、重載與宏定義的文章就介紹到這了,更多相關(guān)C++遞歸、重載與宏定義內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++多進(jìn)程環(huán)境下的日志管理策略和最佳實(shí)踐

    C++多進(jìn)程環(huán)境下的日志管理策略和最佳實(shí)踐

    在復(fù)雜的C++應(yīng)用系統(tǒng)中,特別是涉及多進(jìn)程架構(gòu)時(shí),日志管理是一個(gè)至關(guān)重要但常被忽視的環(huán)節(jié),一個(gè)設(shè)計(jì)良好的日志系統(tǒng)不僅能幫助開發(fā)者快速定位問題,還能為系統(tǒng)運(yùn)行狀態(tài)提供可視化的監(jiān)控,本文將詳細(xì)探討C++多進(jìn)程環(huán)境下的日志管理策略和最佳實(shí)踐,需要的朋友可以參考下
    2025-05-05
  • Clion2020.2.x最新激活碼破解版附安裝教程(Mac Linux Windows)

    Clion2020.2.x最新激活碼破解版附安裝教程(Mac Linux Windows)

    Clion2020增加了很多新特性,修復(fù)了大量bug,大大提高了開發(fā)效率。這篇文章主要介紹了Clion2020.2.x最新激活碼破解版附安裝教程(Mac Linux Windows),需要的朋友可以參考下
    2020-11-11
  • C++之預(yù)處理功能詳解

    C++之預(yù)處理功能詳解

    預(yù)處理器是 C++ 編譯器提供的一個(gè)工具,允許程序員在編譯之前對源代碼文件做出修改,本文將給大家通過代碼示例詳細(xì)介紹C++的預(yù)處理功能,需要的朋友可以參考下
    2023-05-05
  • C語言實(shí)現(xiàn)魔方陣算法(幻方陣 奇魔方 單偶魔方實(shí)現(xiàn))

    C語言實(shí)現(xiàn)魔方陣算法(幻方陣 奇魔方 單偶魔方實(shí)現(xiàn))

    魔方陣是指由1,2,3……n2填充的,每一行、每一列、對角線之和均相等的方陣,階數(shù)n = 3,4,5…。魔方陣也稱為幻方陣,看下面的實(shí)現(xiàn)方法吧
    2013-11-11
  • 詳解C++編程中類的聲明和對象成員的引用

    詳解C++編程中類的聲明和對象成員的引用

    這篇文章主要介紹了詳解C++編程中類的聲明和對象成員的引用,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • MFC控件之CListCtrl的應(yīng)用實(shí)例教程

    MFC控件之CListCtrl的應(yīng)用實(shí)例教程

    這篇文章主要介紹了MFC控件中CListCtrl的應(yīng)用方法,包括了針對表格的一些操作,是MFC中比較重要的一個(gè)控件類,需要的朋友可以參考下
    2014-08-08
  • C++ 中國象棋的實(shí)現(xiàn)流程詳解

    C++ 中國象棋的實(shí)現(xiàn)流程詳解

    中國象棋是起源于中國的一種棋,屬于二人對抗性游戲的一種,在中國有著悠久的歷史。由于用具簡單,趣味性強(qiáng),成為流行極為廣泛的棋藝活動(dòng)
    2021-11-11
  • 輸入一個(gè)字符串,取出其中的整數(shù)(實(shí)現(xiàn)代碼)

    輸入一個(gè)字符串,取出其中的整數(shù)(實(shí)現(xiàn)代碼)

    輸入一個(gè)字符串,內(nèi)含所有數(shù)字和非數(shù)字字符。將其中連續(xù)的數(shù)字作為一個(gè)整數(shù),依次存放到一個(gè)數(shù)組中,統(tǒng)計(jì)共有多少個(gè)整數(shù),并輸出這些數(shù)
    2013-09-09
  • C++實(shí)現(xiàn)N個(gè)骰子的點(diǎn)數(shù)算法

    C++實(shí)現(xiàn)N個(gè)骰子的點(diǎn)數(shù)算法

    這篇文章主要介紹了C++實(shí)現(xiàn)N個(gè)骰子的點(diǎn)數(shù)算法,用兩種方法實(shí)現(xiàn)了該功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-09-09
  • 詳解C語言中write函數(shù)

    詳解C語言中write函數(shù)

    write函數(shù),是一個(gè)C語言函數(shù),功能為將數(shù)據(jù)寫入已打開的文件內(nèi),這篇文章主要介紹了C語言中write函數(shù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08

最新評論

酒泉市| 重庆市| 红河县| 苏州市| 德惠市| 江津市| 丹寨县| 南江县| 万全县| 油尖旺区| 康平县| 泾源县| 镇坪县| 通城县| 鄂州市| 咸宁市| 宝坻区| 宜兰县| 北票市| 寻乌县| 南阳市| 黄平县| 尉犁县| 资源县| 朝阳县| 洪雅县| 灵台县| 左云县| 岫岩| 宣威市| 桃源县| 绥阳县| 辽宁省| 太和县| 观塘区| 修文县| 新巴尔虎右旗| 房山区| 宣恩县| 襄垣县| 沙坪坝区|