Recapitulação: Funções Básicas de Strings
Parte da seção Logic & Flow do Journey de C da Coddy — lição 19 de 63.
Desafio
FácilEscreva um programa em C que processe pares de palavras e demonstre todas as funções de string essenciais que você aprendeu. Seu programa deve:
- Ler um número inteiro
nrepresentando o número de pares de palavras a serem processados - Para cada par de palavras:
- Ler a primeira palavra da entrada
- Ler a segunda palavra da entrada
- Usar
strlen()para calcular e imprimir o comprimento de cada palavra - Usar
strcmp()para comparar as duas palavras e imprimir se elas são idênticas ou diferentes - Criar uma string combinada concatenando a primeira palavra, um espaço e a segunda palavra usando
strcpy()estrcat() - Imprimir a string combinada
- Após processar todos os pares, encontrar e imprimir o par que criou a string combinada mais longa
Lembre-se de incluir o cabeçalho <string.h> para usar as funções de string.
Sua saída deve exibir os resultados no seguinte formato:
Word 1: [word1] (Length: [length1])
Word 2: [word2] (Length: [length2])
Comparison: [identical/different]
Combined: [word1 word2]
Word 1: [word1] (Length: [length1])
Word 2: [word2] (Length: [length2])
Comparison: [identical/different]
Combined: [word1 word2]
...
Longest combined string: [longest_combined_string]Por exemplo, se a entrada for:
3
hello
world
test
test
programming
languageSua saída deve ser:
Word 1: hello (Length: 5)
Word 2: world (Length: 5)
Comparison: different
Combined: hello world
Word 1: test (Length: 4)
Word 2: test (Length: 4)
Comparison: identical
Combined: test test
Word 1: programming (Length: 11)
Word 2: language (Length: 8)
Comparison: different
Combined: programming language
Longest combined string: programming languageEste desafio testa sua compreensão da combinação de strlen() para cálculo de comprimento, strcmp() para comparação de strings e strcpy() com strcat() para concatenação de strings em um programa abrangente que processa múltiplos pares de strings.
Experimente você mesmo
#include <stdio.h>
#include <string.h>
int main() {
int n;
scanf("%d", &n);
char word1[100], word2[100];
char combined[200];
char longest_combined[200] = "";
// TODO: Escreva seu código aqui
// Processe cada par de palavras e encontre a string combinada mais longa
return 0;
}Todas as lições de Logic & Flow
1Fundamentos de Ponteiros
O que é um Ponteiro?Declarando PonteirosO Operador de Endereço (&)O Operador de Desreferência (*)Ponteiros NULLRecapitulação: Fundamentos de Ponteiros4Projeto: Utilitário de Texto Simples
Visão Geral do ProjetoContando Caracteres2Ponteiros e Arrays
Nomes de Arrays como PonteirosElementos de Array - PonteirosAritmética de PonteirosComparando PonteirosRecapitulação: Percorrendo Arrays com Ponteiros5Ponteiros e Funções
Passagem por ValorPassando Ponteiros para FunçõesModificando Variáveis via PonteirosUm Exemplo Clássico: SwapPassando Arrays para FunçõesRecapitulação: Ponteiros como Argumentos3Arrays de Caracteres e Strings
Strings como Arrays de charO Terminador NuloEntrada de Strings com scanfUsando strlen()Usando strcpy()Usando strcat()Usando strcmp()Recapitulação: Funções Básicas de Strings6Gerenciamento de Memória
Memória Stack vs. HeapAlocação Dinâmica - malloc()Usando sizeof() para AlocaçãoVerificando Falhas de AlocaçãoLiberando Memória com free()Alocando com calloc()Recapitulação: Array Dinâmico9Projeto: Cadastro Simples de Contatos
Projeto: Definir a Struct de ContatoFunção para Criar um Contato