因为最近要去农大参加他们的算法邀请赛,然后赛制是ACM赛制的,所以我就直接很迷茫。
然后我就找到了牛客的ACM练习题,好好的练习一下ACM写法,而且我还要被迫写C++,哭了。
开始钻研
1.从Java过度到C++
题目源于牛客网:
A-A+B(1)_OJ在线编程常见输入输出练习场 (nowcoder.com)
先来看一道题目:
可以先给出Java的写法
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 循环读取每组数据
while (scanner.hasNext()) {
// 读取两个正整数 a 和 b
int a = scanner.nextInt();
int b = scanner.nextInt();
// 计算 a + b 并输出结果
int result = a + b;
System.out.println(result);
}
scanner.close();
}
}
然后就可以写出如下的C++代码
#include <iostream>
int main() {
// 循环读取每组数据
while (true) {
// 读取两个正整数a和b
int a, b;
if (!(std::cin >> a >> b)) {
// 当没有更多输入时退出循环
break;
}
// 计算a+b并输出结果
int result = a + b;
std::cout << result << std::endl;
}
return 0;
}
如果只学习过Python和Java我说句实话,直接懵逼
疑问1
#include <iostream>
#include <iostream>
这是什么
答:
疑问2
于是就有一个精简的写法
using namespace std
using namespace std;那这是什么意思呢
答;
好继续看
疑问3
std::cin >> a >> b这个是什么意思啊
答:
当然也可以拆成两个句子
#include <iostream>
int main() {
int a, b;
// 分开输入两个整数
std::cin >> a;
std::cin >> b;
// 输出结果
std::cout << "a: " << a << ", b: " << b << std::endl;
return 0;
}
疑问4
std::cout << result << std::endl;
这又是啥!!!
答:
然后return 0;就完事了
总结
当使用C++编程时,
通过 #include <iostream> 引入输入输出流库。
std::cin 用于接收输入
std::cout 用于输出。
std::endl 用于换行
使用 using namespace std; 可以直接在代码中使用 std 命名空间的标识符。
在C++中,return 0; 表示程序正常结束,返回值0通常表示成功执行。