Várias linguagens de programação podem conseguir isso. Aqui estão exemplos em Python e C ++. Ambas as versões lidam com o espaço potencial de Whitesp e vários espaços entre as palavras apropriadamente.
python: `` `Python
def count_chars_words (linha):
"" "" Conta personagens e palavras em uma linha de texto.
Args:
Linha:a sequência de entrada.
Retornos:
Uma tupla contendo a contagem de personagens e a contagem de palavras. Retorna (0,0) para entrada vazia.
"" "
line =line.strip () # Remova o espaço em branco principal/à direita
se não for linha:
retornar 0, 0
char_count =len (linha)
word_count =len (line.split ()) #split no whitespace
Retorne char_count, word_count
#Exemplo Uso
linha ="Esta é uma linha de amostra".
chars, palavras =count_chars_words (linha)
print (f "linha:'{line}'")
print (f "contagem de caracteres:{chars}")
print (f "contagem de palavras:{words}")
linha2 ="Outra linha com espaços extras".
chars, palavras =count_chars_words (linha2)
print (f "\ nline:'{line2}'")
print (f "contagem de caracteres:{chars}")
print (f "contagem de palavras:{words}")
linha3 ="" #Test em linha vazia
chars, palavras =count_chars_words (linha3)
print (f "\ nline:'{line3}'")
print (f "contagem de caracteres:{chars}")
print (f "contagem de palavras:{words}")
`` `
c ++: `` `cpp
#include
#include
#include
usando namespace std;
par contatcharswords (const string &line) {
String triMedLine =line;
trimmedline.erase (0, trimmedline.find_first_not_of ("\ t \ n \ r \ f \ v")); // Remova o espaço em branco principal
trimmedline.erase (trimmedline.find_last_not_of ("\ t \ n \ r \ f \ v") + 1); // Remova o espaço em branco à direita
if (trimedline.empty ()) {
retornar make_pair (0, 0);
}
int charcount =trimedline.length ();
int wordCount =0;
string ss (linha de aparado);
string word;
while (ss>> word) {
WordCount ++;
}
retornar make_pair (charcount, wordcount);
}
int main () {
String line ="Esta é uma linha de amostra.";
contagens automáticas =contagemwords (linha);
cout <<"linha:'" < cout <<"contagem de caracteres:" < cout <<"contagem de palavras:" <
String line2 ="Outra linha com espaços extras";
contagens =contagemwords (linha2);
cout <<"\ nline:'" < cout <<"contagem de caracteres:" < cout <<"contagem de palavras:" <
String line3 =""; // Teste a linha vazia
contagens =contagemwords (linha3);
cout <<"\ nline:'" < cout <<"contagem de caracteres:" < cout <<"contagem de palavras:" <
retornar 0;
}
`` `
Lembre -se de compilar o código C ++ antes de executá -lo (por exemplo, usando G ++:`g ++ your_file_name.cpp -o your_executable_name`). Ambos os programas lidam com eficientemente de vários cenários de espaço em branco e fornecem caráter robusto e contagem de palavras. A versão Python geralmente é mais concisa.