Código fonte percentual de ocorrências de um caractere em um texto

Fala galera, beleza? Neste breve artigo snippet, vou deixar a resolução de um exercício desenvolvido na linguagem C.

Descrição do exercício

Desenvolver uma função que receba como parâmetros uma string contendo um texto qualquer, e um caractere, esta função deve retornar o percentual de ocorrências que o caractere tem no texto.

Exemplificando, temos a string/texto “Blog Kelvin” e queremos verificar a porcentagem que o caractere “e”, aparece no texto. Logo percebemos que ele aparece uma única vez em dez caracteres do texto, ou seja 9.09%.

Solução em c

#include <stdio.h>
#include<conio.h>
#include <string.h>

float percentageCaractereNaString(char s[], char *c);

int main()
{
    
    char string[100];
    char letra[10];
    printf ("Digite uma frase:\n");
    gets(string);
    printf ("Digite uma letra:\n");
    gets(letra);
   
    float resultado = percentageCaractereNaString(string,letra);
    printf("A porcentagem é %.2f\n", resultado);

    return 0;
}

float percentageCaractereNaString(char s[], char *c){
    
    int frequencia = 0;
    int contador = 0;
    int tamanhoFrase = 0;
    
    for(contador = 0; s[contador] != '\0'; ++contador){
       if(s[contador] == *c){
           ++frequencia;
       } 
    }
    tamanhoFrase = strlen(s);
    return((float)(frequencia * 100) / tamanhoFrase); 
}

Dúvidas?

Você tem outras dúvidas? O tutorial não funcionou? Deixe seu feedback nos comentários abaixo. Bom, espero que essa dica tenha sido útil.