Exercícios

  1. Escreva uma função que lê caracteres do teclado, caracter a caracter, até encontrar o caracter '\n' ou EOF. A função recebe o numero máximo de caracteres a ler e a string onde devem ser guardados. A função retorna o nº de caracteres lidos. Usando esta função, escreva um programa que lê uma string e que a volta a escrever no écran. Suponha que as strings a ler não podem ser maiores que 80 caracteres. Use a função getc para ler os caracteres do teclado.
  2. Escreva uma função que lê uma string do teclado (com tamanho máximo de 20 caracteres) e devolve o numero inteiro representado pela string (atoi).
  3. Escreva uma função que recebe uma string como argumento e verifica se a string é um palíndromo ou não. Uma palavra é um palíndromo se se ler da mesma maneira da esquerda para a direita e vice-versa.
  4. Construa um programa que lê strings do teclado e usa a função anterior para indicar se estas são palíndromos. Todas as strings terão no máximo 80 caracteres (incluindo o caracter terminal).
  5. Escreva uma função que concatena duas strings. A função recebe 2 argumentos, a string destino e a string fonte. A função adiciona ao fim da string destino o conteúdo da string fonte. Assuma que a string destino tem espaço suficiente para guardar as duas strings. A função retorna o tamanho da string destino, após a concatenação.
  6. Escreva uma função que inverta a ordem pela qual estão guardados os elementos de um vector de float. A função recebe 2 argumentos, o vector e o seu tamanho total em bytes. Faca um programa que lê um vector de floats inseridos pelo utilizador. Primeiro pergunta-se ao utilizador qual o tamanho do vector. Depois inverte-se o conteúdo do vector e escreve-se o vector invertido no écran.
  7. Escreva uma função que recebe 3 vectores de doubles como argumentos. Os dois primeiros estão ordenados e o 3º vector tem um tamanho pelo menos igual à soma dos tamanhos dos dois primeiros vectores. Esta função deve retornar no 3º argumento o conteúdo ordenado dos dois primeiros vectores.