1 条题解

  • 0
    @ 2025-9-15 22:50:29

    C

    说明

    本题要求交换两个整数a和b的值,并分别输出交换前后的结果。核心思路是:先读取a和b的值,输出交换前的状态;然后通过一个临时变量作为中间介质,实现a和b的值交换;最后输出交换后的状态。整个过程仅涉及基本的变量操作和输入输出,时间复杂度为O(1)(常数级)。

    代码

    #include <stdio.h>
    
    int main() {
        int a, b;
        scanf("%d %d", &a, &b);
        
        // 输出交换前的状态,严格按照"a=值 b=值"格式
        printf("a=%d b=%d\n", a, b);
        
        // 使用临时变量temp交换a和b的值
        int temp = a;
        a = b;
        b = temp;
        
        // 输出交换后的状态
        printf("a=%d b=%d\n", a, b);
        return 0;
    }
    

    C语言拓展知识

    推荐搜索:C语言中交换两个变量的三种方法(临时变量法、加减法、异或法)、临时变量在交换中的作用(避免值被覆盖)、printf格式输出中字符串与变量的拼接规则。

    C++

    说明

    本题与C语言解法目标一致:交换a和b的值并输出交换前后的状态。C++中除了可以用临时变量交换,还可直接使用标准库的swap函数,无需手动定义临时变量,代码更简洁。

    万能头文件

    #include<bits/stdc++.h> 是C++非标准头文件(竞赛常用),包含所有标准库,无需手动逐个包含,适合快速编码。

    新知识

    1. 标准库交换函数:
      • 术语:std::swap(来自库)
      • 解释:C++标准库提供的用于交换两个变量值的函数,只需传入两个变量作为参数(无需地址符),即可直接交换它们的值,内部自动处理临时存储逻辑。
      • 对比:C语言需手动定义临时变量实现交换;C++用swap(a,b)一行代码即可完成,减少重复代码。

    AC

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        int a, b;
        cin >> a >> b;
        
        // 输出交换前的状态
        cout << "a=" << a << " b=" << b << endl;
        
        // 使用标准库swap函数交换a和b的值
        swap(a, b);
        
        // 输出交换后的状态
        cout << "a=" << a << " b=" << b << endl;
        return 0;
    }
    

    C++拓展知识

    推荐搜索:C++中swap函数的实现原理(如何处理不同数据类型)、swap与手动交换(临时变量法)的效率对比、cout中字符串与变量拼接的<<运算符重载机制。

    • 1

    信息

    ID
    102
    时间
    1000ms
    内存
    64MiB
    难度
    7
    标签
    递交数
    148
    已通过
    39
    上传者