从零开始学C++之基本知识

所有题目来自ACWing
点这注册AcWing 邀请码:SMDRN


👇从零开始学C++系列👇
从零开始学C++之基本知识
从零开始学C++之数组和字符串
从零开始学C++之函数、结构体、类、指针、引用
从零开始学C++之STL容器、位运算与常用库函数


变量、输入输出、表达式与顺序语句

  • 头文件
//常用头文件
#include<iostream> 
包括 cin cout scanf printf

#include<cstdin> 
包括 scanf printf

#include<cmath> 
例如  
double sqrt(double x);//平方根
double pow(double x, double y); //指数
long int abs(long int x);//绝对值
double fabs(double x);//浮点数绝对值

//万能头文件
#include<bits/stdc++.h>

//加快cin和cout的速度
ios::sync_with_stdio(false);
  • 变量
类型字节大小
char1B
int4B
float4B
double8B
long long8B
long double大多为16B
  • 输入输出
scanf("%c%c", &a, &b);      // 会把空格读入
cin >> a >> b;              // 会忽略中间的空格(1个或多个)
  • 基本模板
#include<bits/satdc++.h>
using namespace std;
const int N=1e7+10;
int main()
{
	ios::sync_with_stdio(false);
	return 0;
}



656. 钞票和硬币

判断语句

printf 格式化输出

%5d:最少占用5的宽度,居右,左边加空格
%-5d:居左,右边加空格
%05d:居右,左边补0
%5.1f:宽5,保留1位小数


668. 游戏时间2


循环语句

  • while循环 先判后执行
// 连续输入n次
while(n -- ){ }

逗号运算符:C++中的,运算符对逗号前后的表达式进行运算,然后舍弃前一个表达式的返回值,仅仅返回最后一个表达式的返回值,例
if (表达式1, 表达式2, 表达式3) {...}
等价于

表达式1;
表达式2;
if (表达式3) {...}//节省代码行数
// 输入0,则结束输入不做处理
// 大多数情况下其返回值为cin本身(非0值),只有当遇到EOF输入时,返回值为0。
while(true){ }
while(cin >> x && x){ } //判断两个条件
while(cin >> x , x){ } //忽略逗号前,判断逗号后面的x值

while(scanf("%d", &x) && x > 0) { }	// 写法1
while(scanf("%d", &x), x > 0)  }	// 写法2
while(~scanf("%d", &x)) { }		    // 判断是否非法输入(EOF),用于文件读取


  • do - while 循环:先做后判 至少会执行一次


  • 欧几里得距离 / 曼哈顿距离 / 切比雪夫距离
  1. 欧几里得距离
    也就是两点之间距离
  2. 曼哈顿距离:两个点在标准坐标系上的绝对轴距总和
    dis=abs(x1-x2)+abs(y1-y2)
    用来解决 菱形问题 727 菱形
  3. 切比雪夫距离:各坐标数值差的最大值
    dis=max(abs(x1-x2), abs(y1-y2))



725. 完全数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tancy.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值