Enviado em 01/07/2017 - 20:15h
Boa noite. Tenho um exercício pra resolver onde tenho que buscar quantas vezes uma palavra aparece dentro de uma frase, porém a última palavra só está contando quando tem o ponto final.
#include <stdio.h>
#include <locale.h>
#include <string.h>
//Aluno: Geovani Leite
int main(){
setlocale(LC_ALL, "Portuguese");
char frase[500], palavra[10];
int i, j=0, cont=0, tamPalavra;
printf("\nFrase (com ponto final): ");
scanf("%[^\n]s", frase);
printf("Palavra: ");
scanf(" %[^\n]s", palavra);
if(strlen(palavra) <= 10){
tamPalavra = strlen(palavra);
for (i = 0;frase[i] != '\0';){ //enquanto for diferente de nulo
if (frase[i] == ' '){ //se for espaço
i++;
}
else{ //se não for espaço
if (frase[i] == palavra[j]){ //vê se é igual
j++; //acrescenta j
i++; //acrescenta i
}
else if (j == tamPalavra){ //senao, se j for igual ao tamanho da palavra
j = 0; //j recebe 0,
cont++;
}
else{
i++;
j = 0;
}
}
}
printf("A palavra [%s] aparece %d vezes na frase.\n",palavra,cont);
}else{
printf("\nA palavra deve ter no máximo 10 letras.\n");
}
return 0;
}
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Desktop travando e encerrando a execução (4)
Windows XP rodando no Linux (4)
Google Chrome não para de escrever no disco (4)