一级笔记

root 站长 2022-06-12 14:13:47 2022-06-12 14:14:25 0
&& 并且
|| 或者
 
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); //把小数a保留2位小数 

逻辑表达式 
&& 并且  || 或者 ! 取反
#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 << "不是天才";
 
//情况有多种,只可能一种,成绩等级:A、B、C、D
if(条件1)  
else if (条件2)
else 
//例题: #13. 成绩判定 
    int s;
    cin >> s;
    if (s >= 90)
        cout << "Great";
    else if (s >= 70)
        cout << "Good";
    else if (s >= 60)
        cout << "Average";
    else
        cout << "Poor";
//情况有多种,可能有多种情况,比如能被3,5,7整除
if()
if()
if() 
//例题:#17. 能被3、5、7整除的数
    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循环 
for (int i = 1; i <= n; i ++ ) 
{
	
}
//while循环 
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++;
	} 	
	
{{ vote && vote.total.up }}