&& 并且
|| 或者
char c;
数字 '0' <= c && c <= '9'
小写字母 'a' <= c && c <= 'z'
大写字母 'A' <= c && c <= 'Z'
字母 'a' <= c && c <= 'z' || 'A' <= c && c <= 'Z'
类型转换
int->double int a; cin >> a; cout << double(a);
double->int cout << int(a);
基本输入输出
输入 cin >> a;
输出 cout << a;
特殊: 保留指定位数的小数
printf("%.2lf", a);
逻辑表达式
&& 并且 || 或者 ! 取反
#6030. 有一门课不及格的学生
标程
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
if (a >= 60 && b < 60 or a < 60 && b >= 60)
cout << 1;
else
cout << 0;
return 0;
}
选择语句
if(条件)
if(条件)
else
if(iq > 140) cout << "天才";
else cout << "不是天才";
if(条件1)
else if (条件2)
else
int s;
cin >> s;
if (s >= 90)
cout << "Great";
else if (s >= 70)
cout << "Good";
else if (s >= 60)
cout << "Average";
else
cout << "Poor";
if()
if()
if()
int n;
cin >> n;
if (n % 3 == 0)
cout << "3 ";
if (n % 5 == 0)
cout << "5 ";
if (n % 7 == 0)
cout << "7 ";
if (n % 3 != 0 and n % 5 != 0 and n % 7 != 0)
cout << 'n';
循环语句
for (int i = 1; i <= n; i ++ )
{
}
int i = 1;
while (i <= n)
{
i++;
}
经典例题:
#1053. 与指定数字相同的数的个数
int n, m, ans = 0;
cin >> n >> m;
for (int i = 1; i <= n; i++) {
int x;
cin >> x;
if (x == m)
ans++;
}
cout << ans;
#1005. 数1的个数
考点:整数分解, 整数除以10的余数是个位, 整数除以10的商是丢掉个位。
int n, x, ans = 0;
cin >> n >> x;
for (int i = 1; i <= n; i++) {
int j = i;
while (i != 0) {
if (i % 10 == x)
ans++;
i /= 10;
}
i = j;
}
cout << ans;
#6132. 比n小的最大质数
判断1~n之间的所有因数个数是否为2,2个因数表示n是质数,否则不是质数。
int n;
cin >> n;
for (int i = n - 1; i >= 2; i--) {
int sum = 0;
for (int j = 1; j <= i; j++)
if (i % j == 0)
sum++;
if (sum == 2) {
cout << i;
return 0;
}
}
if (条件) 一次判断
while(条件) 多次判断
#4152. 最大质因子
考点:分解质因数
int i = 2; while (n != 1)
{
while (n % i == 0)
{
n /= i;
if (n == 1)cout << i << " ";
}
i++;
}