1 条题解
-
0
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++非标准头文件(竞赛常用),包含所有标准库,无需手动逐个包含,适合快速编码。
新知识
- 标准库交换函数:
- 术语:
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
- 上传者