Enviado em 04/04/2016 - 21:41h
Olá, tenho um exercico em que recebeo N strings e devo retornar as strings ordenadas com as maiores palavras na frente.#include <stdio.h>
#include<string.h>
#define MAX 50
/* Uma struct para armazenar as strings de entrada.
** Outra struct para armazenar as palavras que serão quebradas na função quebra_palavra.
*/
struct Palavras {
char palavra[MAX];
};
struct Palavras partes[MAX];
int quebra_frase (char frase[MAX]);
int main (void) {
struct Strings {
char frase [MAX];
};
int n, i=0, num_palavra;
scanf("%d", &n);
struct Strings string[n];
while (i<n+1) {
fgets(string[i].frase, MAX, stdin);
i++;
}
num_palavra = quebra_frase(string[1].frase);
i=0;
while (i<num_palavra) {
printf("%s\n", partes[i].palavra);
i++;
}
return 0;
}
int quebra_frase (char frase[MAX]) {
int p=0, i=0, count=0, n=0;
for (i=0;i<strlen(frase);i++) {
if (frase[i] == ' ' || frase[i] == '\n') {
while (p<i) {
partes[count].palavra[n] = frase[p];
n++;
p++;
}
count++;
p=i+1;
n=0;
}
}
return count;
}
/*count é o numero de partes,
**n percorre a string da palavra
**p percorre as posições da palavra a ser guardada */
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04