Descrição do título
Geralmente, podemos usar strcmp para comparar o tamanho de duas strings. O método de comparação é comparar as duas strings caractere por caractere da frente para trás (compare de acordo com o valor do código ASCII), até que caracteres diferentes apareçam ou encontrem '\ 0 '.. Se todos os caracteres são iguais, eles são considerados iguais; se houver caracteres diferentes, o resultado da comparação do primeiro caractere diferente deve prevalecer (Nota: Se uma string encontrar '\ 0', e outro caractere Se a string não tiver encontrado '\ 0', o primeiro é menor que o último).
Mas às vezes, quando comparamos o tamanho das strings, esperamos ignorar o tamanho das letras. Por exemplo, "Hello" e "hello" são iguais ao ignorar as maiúsculas e minúsculas. Escreva um programa para comparar o caso de duas strings, ignorando o caso das letras.
Formato de
entrada A entrada é de duas linhas, uma sequência de caracteres por linha, duas sequências de caracteres no total. (Cada string tem menos de 80 comprimento e contém apenas letras maiúsculas e minúsculas)
Formato de saída
Se a primeira string for menor que a segunda string, produza um caractere "<";
Se a primeira string for maior que a segunda string, imprima um caractere ">";
Se as duas strings forem iguais, um caractere "=" será gerado.
Amostra de entrada
Hellohowareyou
helloHowareyou
Saída de amostra
=
Ideias
Ignore maiúsculas e minúsculas e compare os tamanhos de duas strings.
Se a primeira string for menor do que a segunda string, imprima um caractere "<";
Se a primeira string for maior que a segunda string, imprima um caractere ">";
Se as duas strings forem iguais, um caractere "=" será gerado.
Duas strings aeb podem ser definidas. Para a string de duas linhas fornecida, lemos um caractere e um caractere em cada linha, transformamos todas as letras maiúsculas em letras minúsculas e, em seguida, jogamos os caracteres processados em Entre as strings que definimos, pode comparar as duas strings no final. (Nota: Strings em C ++ podem ser comparadas diretamente, e arrays de caracteres em linguagem C não podem ser comparados diretamente. A função strcmp () no arquivo de cabeçalho string.h deve ser usada).
C ++ código 1:
#include<iostream>
using namespace std;
int main()
{
string a, b; //定义字符串a,b
char c;
while(c = getchar()) //第一行中一个个地字符读取,放到字符串a
{
if(c == '\n') break; //如果读到回车的话,就说明该行读取结束
else if(c >= 'A' && c <= 'Z') c += 32; //如果是大写字母的话,转换为小写字母。ASCII码表中每一个大写字母总是比对应的小写字母的值小32
a.push_back(c); //类似于python的函数使用,把字符变量c里面的字符放到字符串a的最后
}
while(c = getchar()) //第二行中一个个地字符读取,放到字符串b
{
if(c == '\n') break; //如果读到回车的话,就说明该行读取结束
else if(c >= 'A' && c <= 'Z') c += 32;//如果是大写字母的话,转换为小写字母。ASCII码表中每一个大写字母总是比对应的小写字母的值小32
b.push_back(c);//类似于python的函数使用,把字符变量c里面的字符放到字符串b的最后
}//字符串可以直接比较,直接比较输出即可
if(a == b) cout << "=" << "\n";
else if(a < b) cout << "<" << "\n";
else cout << ">" << "\n";
return 0;
}
C ++ código 2:
#include<bits/stdc++.h>
using namespace std;
int main()
{
char str1[205], str2[205];
while(cin >> str1 >> str2)
{
int len1 = strlen(str1);
int len2 = strlen(str2);
for(int i = 0; i < len1; i++)
{
if(i == 0)
{
if(str1[i] >= 97 && str1[i] <= 122) str1[i] -= 32;
}
else
{
if(str1[i] >= 65 && str1[i] <= 90) str1[i] += 32;
}
}
for(int i = 0; i < len2; i++)
{
if(i == 0)
{
if(str2[i] >= 97 && str2[i] <= 122) str2[i] -= 32;
}
else
{
if(str2[i] >= 65 && str2[i] <= 90) str2[i] += 32;
}
}
if(strcmp(str1, str2) < 0) cout << "<" << endl;
else if(strcmp(str1, str2) > 0) cout << ">" << endl;
else if(strcmp(str1, str2) == 0) cout << "=" << endl;
}
return 0;
}