Enlace de tema: Límite de tiempo de comparación de cadenas
: 1 segundo Límite de memoria: 256 MB
Descripción del título:
Dadas dos cadenas que constan solo de letras mayúsculas o minúsculas (con una longitud entre 1 y 10), la relación entre ellas es uno de los siguientes 4 casos:
1: La longitud de las dos cadenas no es Espere. Por ejemplo, Beijing y Hebei
2: las dos cadenas no solo tienen la misma longitud, sino que los caracteres en las posiciones correspondientes son exactamente iguales (distinguen entre mayúsculas y minúsculas), como Beijing y Beijing
3: las dos cadenas tienen la misma longitud y los caracteres en las posiciones correspondientes son solo indistinguibles Solo bajo la premisa de capitalización puede ser completamente consistente (es decir, no satisface el Caso 2). Por ejemplo, beijing y BEIjing
4: las dos cadenas tienen la misma longitud, pero incluso si no distingue entre mayúsculas y minúsculas, las dos cadenas no pueden ser coherentes. Por ejemplo, Beijing y Nanjing
programan para determinar a cuál de estos cuatro tipos pertenece la relación entre las dos cadenas de entrada y dan el número del tipo.
Entrada:
consta de dos líneas, cada línea es una cadena
Salida:
solo hay un número, que indica el número de relación de las dos cadenas
Entrada de muestra:
BEIjing
beiJing
Salida de muestra:
3
El significado del título: El significado del título es comparar dos cadenas para ver a qué categoría pertenecen y generar el número de relación que representa la cadena.
Idea: Simplemente compare, comience con la comparación de longitud, el tercer requisito es ignorar el caso para determinar si son iguales, tomamos prestadas dos cadenas temporales, convertimos las dos cadenas originales a minúsculas o mayúsculas y las comparamos. Pero (convertí a minúsculas).
Código anterior:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s1,s2;
while(cin>>s1>>s2)
{
//cout<<s1<<endl;
//cout<<s2<<endl;
string ss1,ss2; // 临时的字符串,存放装换为小写的字符串
ss1=s1;
ss2=s2;
int l1=s1.length();
int l2=s2.length();
for(int i=0; i<l1; i++)
{
if(s1[i]>='A'&&s1[i]<='Z')
{
ss1[i]=s1[i]+32; //转换为小写
}
}
for(int i=0; i<l2; i++)
{
if(s2[i]>='A'&&s2[i]<='Z')
{
ss2[i]=s2[i]+32;
}
}
//cout<<ss1<<endl;
//cout<<ss2<<endl;
if(l1!=l2)
cout<<1<<endl;
else if(s1==s2)
cout<<2<<endl;
else if(ss1==ss2)
cout<<3<<endl;
else
cout<<4<<endl;
}
return 0;
}
No te olvides de darle Me gusta después de leerlo, ¡gracias por tu apoyo!
Si está en una terminal de computadora, también puede ver la "conexión triple de una tecla" en la esquina inferior derecha, el ícono es el siguiente, haga clic en él a la derecha [jaja] ¡
Gracias por su apoyo!
¡Venga!
¡Trabajar juntos!
Keafmd