Me piden que implemente un programa que pida una frase y un carácter por teclado, pidiendo dicho carácter hasta que sea correcto (ósea qué pertenezca al alfabeto castellano comprendido en la tabla ASCII 850) y que cuente la veces que dicho carácter aparece en la frase introducida. El programa debe calcular también, si dicho número resultante se trata de un número primo o no.
Ejemplo:
Frase introducida:
“El viaje no termina jamás. Solo los viajeros terminan. Y también ellos pueden subsistir en memoria, en recuerdo, en narración... El objetivo de un viaje es solo el inicio de otro viaje.”
Carácter introducido:
“j”
Salida:
-Existe 6 js en la frase introducida
-6, No es un número primo.
que errores cometo?
Ejemplo:
Frase introducida:
“El viaje no termina jamás. Solo los viajeros terminan. Y también ellos pueden subsistir en memoria, en recuerdo, en narración... El objetivo de un viaje es solo el inicio de otro viaje.”
Carácter introducido:
“j”
Salida:
-Existe 6 js en la frase introducida
-6, No es un número primo.
que errores cometo?
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char frase[100];
char caracter;
int i, contador, longitud, aux=2;
printf("Introduzca una frase.\n");
gets (frase);
longitud=strleng(frase); //Resto el valor nulo que crea gets()
longitud-=1;
do { //Controlo el caracter pedido
printf("Introduzca un caracter:\n");
scanf("%c", caracter);
} while ((caracter<A && caracter>Z) && (caracter <a && caracter>z));
for (i=0; i<longitud; i++) //Comparo y cuento los caracteres que esten repetidos
{
if (frase[i]= frase[longitud])
contador++;
else
printf("El caracter %c no se encuentra en la frase", caracter);
}
while (contador%aux!=0) //inicialmente aux=2 por lo tanto busco un numero que su resto sea
aux+=1; //diferente de 0 y pueda dividirse por el mismo.
if (contador==aux){
printf("Existe %i %c en la frase introducida.\n", contador, caracter);
printf("El %i, es primo.\n", contador);
}
else
{
printf("Existe %i %c en la frase.\n", contador, caracter); //Salida final
printf("El %i, no es primo.\n", contador);
}
return EXIT_SUCCESS;
}