Leia uma cadeia de caracteres e converta todos os caracteres para maiúscula. Dica: subtraia 32 dos caracteres cujo código ASCII está entre 97 e 122.
Passo 1
O enunciado pede para ler uma string e converter todos os caracteres minúsculos em maiúsculo usando manipulação de código ASCII. O conteúdo envolve vetores de caracteres (strings), iteração com laço e consulta/manipulação de valores ASCII.
Passo 2
Primeiro, lemos a cadeia de caracteres com uma função como fgets (ou scanf) e preparamos um laço for que percorre cada posição até encontrar o caractere nulo ‘\0’.
Passo 3
Dentro do laço, para cada caractere c fazemos a verificação de código ASCII: se
, ele é uma letra minúscula. Nesse caso, subtraímos 32 de seu valor ASCII para convertê-lo em maiúscula.
Passo 4
Depois de processar todos os caracteres, imprimimos a string modificada para exibir o resultado.
Resposta
#include <stdio.h>
int main() {
char s[1000];
// Leitura da cadeia de caracteres (inclui o caractere de nova linha, se houver)
if (fgets(s, sizeof(s), stdin) == NULL) return 0;
char s[1000];
// Leitura da cadeia de caracteres (inclui o caractere de nova linha, se houver)
if (fgets(s, sizeof(s), stdin) == NULL) return 0;
// Percorre cada caractere até o '\0'
for (int i = 0; s[i] != '\0'; i++) {
// Verifica se é letra minúscula (ASCII entre 97 e 122)
if (s[i] >= 97 && s[i] <= 122) {
// Converte para maiúscula subtraindo 32
s[i] = s[i] - 32;
}
}
// Imprime a string convertida
printf("%s", s);
return 0;
}