Consejos de uso común del grupo Blue Bridge Cup c ++

 1. Copa Blue Bridge - Matemáticas - Notas de programación dinámica

 2. Conocimientos básicos de uso común de C++ Blue Bridge Cup

Actualización continua --------------------------------------------

Tabla de contenido

Plantillas de inicio comunes 

Conversión entre int y cadena

Método de conversión de dígitos para cadenas numéricas 

uso de typedefs  

Uso simple de hash

Entrada y salida de contenedores de uso común

Número fijo de caracteres en una cadena

 Conversión entre bases

​​​​​​


Plantillas de inicio comunes 

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

using namespace std;//命名空间

typedef long long LL;//使用typedef关键字来定义自己习惯的数据类型名称

int main(){

	return 0;
}

Conversión entre int y cadena

cadena a int:

Este es el int general más común num = stoi(s) convertido a tipo int

Y número largo = stoll(s);número largo y largo = stoll(s);

La conversión ideal a tipo de coma flotante es double num = stod(s) float num = stof(s);

Tenga en cuenta que solo las letras detrás de sto cambiarán según el tipo de conversión, que sigue siendo fácil de recordar.

int a cadena:

Esto es directamente string num = to_string(num) simple violencia jajaja


Método de conversión de dígitos para cadenas numéricas 

Cuando una cadena de caracteres es similar a la notación científica, etc., el tipo de punto flotante predeterminado es de 7 dígitos efectivos. Si es demasiado grande, se convertirá al tipo de notación científica, como 1.2e+10. ¿Qué debería Qué hago si necesito mostrar todos los dígitos?

Debe usar setprecision (8). Si desea mostrar tantos dígitos como desee, puede escribir tantos dígitos como desee. Por ejemplo, si desea mostrar ocho dígitos, complete 8

Puede ser así cout<<setprecision(8)<<b1; b1 es una de mis constantes de punto flotante

Al mismo tiempo, si desea mantener el número exacto de lugares decimales, debe hacer esto

    cout.setf(ios::fixed);//Establecer la precisión del punto decimal
    cout<<setprecision(2)<<b1;

Simplemente agregue una declaración que conserve la precisión del punto decimal delante de ella.

Amigos, pueden intentarlo.


uso de typedefs  

El bloguero hizo algunas preguntas y descubrió que el uso de typedef más utilizado es

typedef long long ll;

¿De qué sirve? De hecho, puede ser más fácil definir constantes (es decir, robar pollo jajajaja) y escribir menos código

Por ejemplo, puedes

ll num;//这就是一个long long 类型的变量了

Uso simple de hash

//字符的次序问题(哈希)
//给26个字母附上顺序
//解决字符谁先谁后的问题
for (int i = 1; i <= 26; i++) { 
     char ch; 
     cin >> ch;
     a[ch - 'a'] = i;
   
 }

Entrada y salida de contenedores de uso común

 La entrada es similar a vector con push_back();

                                el conjunto usa insertar();

                                hacer_par()

La salida del vector es la misma que la matriz.

par de salida: 

for (auto it = nums.begin();it != nums.end();it++)
    {
    cout << it->first << it->second ;
    }

establecer salida:

//正序输出 从小到大 map是自动排序的
for (set<int>::iterator it = res.begin(); it != res.end(); it++) {
        cout << *it << endl;
}
//反序输出
for(auto iter = mapStr.rbegin(); iter != mapStr.rend(); ++iter) {
	undefined
	cout<<iter->second.c_str()<<endl;
}

Número fijo de caracteres en una cadena

#include <iostream>
#include <algotirhm>
#include <string>
using namespace std;
int main()
{
    string temp = "aaabcdaaa!!!";
    int num = count(temp.begin(),temp.end(),'a');
    cout <<"在字符串" << temp << "中," <<"字母a出现的次数是" << num << endl;
    return 0 ;
}

 Conversión entre bases

    //十进制转十六进制
    int num = 10;  
    char str[100];  
    itoa(num, str, 16);  
    printf("%s\n", str);  
    return 0
//十六进制转十进制
   char str[30] = "2030300 This is test";
   char *ptr;
   long ret;
   ret = strtol(str, &ptr, 10);
    //十进制转八进制 十六进制
   string s1,s2;
   int a=30;
   stringstream ss;
   ss<<oct<<a; //10进制转成八进制读入流中,再以字符串输出
   ss>>s1; //这里也可以 string s(s1.str());
   cout<<s1<<endl;  //输出:36
   ss.clear();  //不清空可能出错
   ss<<hex<<a;  //10进制转成十六进制读入流中,再以字符串输出
   ss>>s2;
   cout<<s2<<endl; //输出:1e

Supongo que te gusta

Origin blog.csdn.net/qq_56263094/article/details/123473218
Recomendado
Clasificación