CADENAS 1.- Escribir un programa que lea una cadena desde el teclado y cuente el número de caracteres de tres categorías: letras (a-z y A-Z), dígitos (0-9) y otros caracteres. Utilizar las funciones isdigit() e isalpha() definidas en la librería ctype.h. 2.- Ejemplos de cadenas. Función que realiza la misma operación que la función atoi, que convierte una cadena en un entero. La función regresa el entero representado por la cadena “S” si se pudo convertir, en caso contrario regresa 0. 3.- Escribir un programa que pida una cadena por el teclado y la imprima después de convertir el primer carácter en mayúscula y el resto en minúsculas. 4.- Escribir un programa para leer un texto hasta el fin-de-datos, y mostrar una estadística de las longitudes de las palabras, esto es, el número total de palabras de longitud 1 que hayan ocurrido, el total de longitud 2 y así sucesivamente y el número total de palabras del texto (se utiliza como separador de palabras el espacio). 5.- Escribir una función “reemplaza'', la cual toma una cadena como parámetro, le reemplaza todos los espacios de la cadena por un guión bajo, y devuelve el número de espacios reemplazados. Por ejemplo: char cadena[] = "El gato negro"; n = reemplaza( cadena ); Deberá devolver: Cadena convertida "El_gato_negro" n=2 6.- Escribir una función que nos pida una clave de 4 dígitos, de forma que por cada digito que pulsemos debe imprimir en la pantalla un asterisco “*”, una vez introducida dicha clave, debe comprobar si coincide con una clave fijada en el programa, si ambas son iguales debe imprimir “clave correcta”, si no son iguales debe imprimir “clave incorrecta” y volver a dejar introducir la clave durante 3 intentos, después de estos tres intentos imprimirá “teclado bloqueado”.