Olimpiada de Informática One Pass 1.5: Matriz (3)

La primera parte del lenguaje C ++

Capítulo 5 Matrices

Sección III Tipos de caracteres y matrices de caracteres

1129 Cuente el número de caracteres numéricos
#include <iostream>
using namespace std;

int main() {
    char ch;
    int cnt = 0;

    while (cin >> ch) {
        if (ch >= '0' && ch <= '9') cnt ++;
    }

    cout << cnt << endl;

    return 0;
}
1130 Encuentra el primer personaje que aparece solo una vez
#include <iostream>
using namespace std;

int main() {
    string s;
    int a[26] = {};

    cin >> s;

    for (int i = 0; i < s.size(); i ++ ) {
        a[s[i]-'a'] ++;
    }

    for (int i = 0; i < s.size(); i ++ ) {
        if (a[s[i]-'a'] == 1) {
            cout << s[i] << endl;
            return 0;
        }
    }

    cout << "no" << endl;

    return 0;
}
1131 correlación genética
#include <iostream>
using namespace std;

int main() {
    double x;
    string a, b;
    int cnt = 0;

    cin >> x >> a >> b;

    for (int i = 0; i < a.size(); i ++ ) {
        if (a[i] == b[i]) cnt ++;
    }

    if (1.0*cnt/a.size() >= x) cout << "yes" << endl;
    else cout << "no" << endl;

    return 0;
}
1132 Piedra Papel Tijeras
#include <iostream>
using namespace std;

int main() {
    int n;
    string p1,p2;

    cin >> n;

    while (n--) {
        cin >> p1 >> p2;
        if (p1 == p2) cout << "Tie" << endl;

        if (p1 == "Rock" && p2 == "Scissors") cout << "Player1" << endl;
        if (p1 == "Rock" && p2 == "Paper") cout << "Player2" << endl;

        if (p1 == "Scissors" && p2 == "Rock") cout << "Player2" << endl;
        if (p1 == "Scissors" && p2 == "Paper") cout << "Player1" << endl;

        if (p1 == "Paper" && p2 == "Scissors") cout << "Player2" << endl;
        if (p1 == "Paper" && p2 == "Rock") cout << "Player1" << endl;

    }

    return 0;
}
1133 Cadena de salida de familiares y amigos
#include <iostream>
using namespace std;

int main() {
    string s;

    getline(cin, s);

    for (int i = 0; i < s.size(); i ++ ) {
        cout << char(s[i] + s[(i+1)%s.size()]);
    }

    return 0;
}
1134 Identificador C legal
#include <iostream>
using namespace std;

int main() {
    string s;

    cin >> s;

    if (s[0] >= '0' && s[0] <= '9') {
        cout << "no" << endl;
        return 0;
    }

    for (int i = 0; i < s.size(); i ++ ) {
        bool judge = (s[i] >= '0' && s[i] <= '9') || (s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z') || s[i] == '_';

        if (!judge) {
            cout << "no" << endl;
            return 0;
        }
    }

    cout << "yes" << endl;

    return 0;
}
1135 cadena base emparejada
#include <iostream>
using namespace std;

int main() {
    string s;

    cin >> s;

    for (int i = 0; i <= s.size(); i ++ ) {
        if (s[i] == 'A') cout << 'T';
        if (s[i] == 'T') cout << 'A';
        if (s[i] == 'G') cout << 'C';
        if (s[i] == 'C') cout << 'G';
    }

    return 0;
}
1136 Traducción de contraseña
#include <iostream>
using namespace std;

int main() {
    string s;

    getline(cin, s);

    for (int i = 0; i < s.size(); i ++ ) {
        if (s[i] >= 'a' && s[i] <= 'z') {
            s[i] = (s[i]-'a'+1) % 26 + 'a';
        }
        else if (s[i] >= 'A' && s[i] <= 'Z') {
            s[i] = (s[i]-'A'+1) % 26 + 'A';
        }        
    }

    cout << s; 

    return 0;
}
1137 Registro médico encriptado
#include <iostream>
using namespace std;

int main(){
    string s;
    char c;
    cin >>s;

    for (int i = s.size()-1; i >= 0; i -- ) {
        c = s[i];

        if (c < 'a'){
            cout << char((c-'A'+3) % 26 + 'A' + 32);
        }
        else {
            cout << char((c-'a'+3) % 26 + 'a' - 32);
        }
    } 

    return 0;
}
1138 Convertir letras minúsculas en una cadena a letras mayúsculas
#include <iostream>
using namespace std;

int main(){
    string s;
    getline(cin, s);

    for (int i =0; i < s.size(); i ++ ){
        if (s[i] >= 'a' && s[i] <= 'z') {
            cout << char(s[i] - 32);
        }
        else {
            cout << s[i];
        }
    }

    return 0;
}
1139 Clasificación del nombre del medicamento
#include <iostream>
using namespace std;

int main(){
    int n;
    string s;

    cin >> n;

    while (n--) {
        cin >> s;

        if (s[0] >= 'a' && s[0] <= 'z') s[0] = s[0] - 32;

        for (int i = 1; i < s.size(); i ++ ) {
            if (s[i] >= 'A' && s[i] <= 'Z') s[i] = s[i] + 32;
        }

        cout << s << endl;
    }

    return 0;
}
1140 Subcadena de verificación
#include <iostream>
using namespace std;

int main() {
    string s1, s2;

    cin >> s1 >> s2;

    if (s2.find(s1) != -1) {
        cout << s1 << " is substring of " << s2;
    }
    else if (s1.find(s2) != -1)    {
        cout << s2 << " is substring of " << s1;
    } 
    else {
        cout << "No substring";
    }

    return 0;
}
1141 Eliminar sufijo de palabra
#include <iostream>
using namespace std;

int main() {
    string s;

    cin >> s;
    int len = s.size();

    if (len <= 2) {
        cout << s << endl;
    }
    else if (s.substr(len-2) == "er" || s.substr(len-2) == "ly") {
        cout << s.substr(0, len-2) << endl;
    }
    else if (s.substr(len-3) == "ing") {
        cout << s.substr(0, len-3) << endl;
    }
    else {
        cout << s << endl;
    }

    return 0;
}
1142 palabras de longitud
#include <iostream>
using namespace std;

int main() {
    string s;
    bool flag = true;

    while (cin >> s) {
        if (flag) {
            cout << s.size();
            flag = false;
        }
        else {
            cout << ',' << s.size();
        }
    }

    return 0;
}
1143 Palabras más largas y más cortas
#include <iostream>
using namespace std;

int main() {
    string s, a, b;
    int cnt = 0, max = 0, min = 101;

    getline(cin, s);

    for (int i = 0; i < s.size(); i ++ ) {
        int j = i;
        while (j < s.size() && s[j] != ' ' && s[j] != ',') {
            j ++;
        }

        if (j-i > max) {
            max = j - i;
            a = s.substr(i, j-i); 
        }
        if (j-i < min && j-i != 0) {
            min = j - i;
            b = s.substr(i, j-i);
        }

        i = j;
    }

    cout << a << endl;
    cout << b << endl;

    return 0;
}
1144 Inversión de palabra
#include <iostream>
using namespace std;

int main() {
    string s;

    getline(cin, s);

    for (int i = 0; i < s.size(); i ++ ) {
        int j = i;
        while (j < s.size() && s[j] != ' ') j ++ ;

        for (int k = j - 1; k >= i; k -- ) cout << s[k];
        cout << ' ';

        i = j;
    }

    return 0;
}
Codificación de tipo p de 1145 cadenas
#include <iostream>
using namespace std;

int main() {
    string s;

    cin >> s;

    for (int i = 0; i < s.size(); i ++ ) {
        int j = i + 1;

        while (j < s.size() && s[j] == s[j-1]) {
            j ++ ;
        }
        cout << j-i << s[i];

        i = j - 1;
    }

    return 0;
}
1146 Determine si la cuerda es un palíndromo
#include <iostream>
using namespace std;

int main() {
    string s;

    cin >> s;

    for (int i = 0, j = s.size()-1; i < j; i ++, j -- ) {
        if (s[i] != s[j]) {
            cout << "no" << endl;
            return 0;
        }
    }

    cout << "yes" << endl;

    return 0;
}
1147 Nombre del estudiante con la puntuación más alta
#include <iostream>
using namespace std;

int main() {
    int n, score, max = 0;
    string name, ans;

    cin >> n;

    for (int i = 0; i < n; i ++ ) {
        cin >> score >> name;

        if (score > max) {
            max = score;
            ans = name;
        }
    }

    cout << ans << endl;

    return 0;
}
1148 caracteres consecutivos
#include <iostream>
#include <cstdio>
using namespace std;

int main() {
    int k;
    string s;

    scanf("%d\n", &k); 
    getline(cin, s);

    for (int i = 0; i < s.size(); i ++ ) {
        int j = i + 1;
        while (j < s.size() && s[j] == s[j-1]) j ++ ;

        if (j-i >= k) {
            cout << s[i] << endl;
            return 0;
        }

        i = j - 1;
    }

    cout << "No" << endl;

    return 0;
}
1149 Palabra más larga 2
#include <iostream>
#include <cstdio>
using namespace std;

int main() {
    string s, ans;

    while (cin >> s) {
        if (s[s.size()-1]=='.') s = s.substr(0, s.size()-1);
        if (s.size() > ans.size()) ans = s;
    }

    cout << ans << endl;

    return 0;
}

Si su hijo está en cuarto grado en adelante, está interesado en la programación de computadoras y tiene capacidad adicional para lecciones culturales, comuníquese con el servicio al cliente (ID de WeChat: xiaolan7321) para participar en el aprendizaje de la informática. Somos entrenadores profesionales de competencias de informática, utilizando métodos de enseñanza de clases pequeñas en línea, el objetivo es ayudar a los estudiantes de primaria y secundaria que aman la programación a lograr excelentes resultados en competencias de informática nacionales y extranjeras.

Funciones de enseñanza:

  • Enseñanza en línea en clases pequeñas, establezca una buena base de código. Evite el problema de "no puedo mantener el ritmo" o "no comer lo suficiente" en clases grandes.

  • Rica experiencia docente, familiarizado con la estructura de conocimiento y la capacidad de aprendizaje de los estudiantes, y organice el horario de manera razonable.

  • Practique con competencias y mejore continuamente las habilidades de los estudiantes a través de exámenes y competencias.

Supongo que te gusta

Origin blog.csdn.net/davidliule/article/details/106139630
Recomendado
Clasificación