O Beraldo já resolve o número 5. Fiz o número 6, por favor se tiver algum erro ou alguma critica construtiva comentem
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int contar(char str[30]);
int main()
{
char str[30];
printf("Digite uma string \n");
fgets(str, 30, stdin);
contar(str);
system("PAUSE");
return 0;
}
int contar(char str[30]){
int i;
int count = 0;
for(i=0;i<30;i++){
if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u'){
count++;
}
}
printf("O numero de vogais e: %d \n",count);
}
Não consegui fazer o exercicio 7, alguma dica ?
Eu resolvi desenterrar o tópico original para comentar uma outra solução tendo em vista uma quantidade maior de caracteres a serem comparados. Por exemplo, se a questão pedisse a contagem das consoantes, seria melhor reescrevê-lo assim:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int contar (char *);
int main () {
char str[30];
printf ("Digite uma string\n");
fgets (str, 30, stdin);
printf("\nO numero de vogais é: %d \n\n", contar (str));
system ("pause");
return 0;
}
int contar (char str[]) {
int count = 0;
char *ptr = str - 1, s[] = "BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxYyZz";
while (ptr = strpbrk (ptr + 1, s))
count++;
return count;
}
Já para o exercício 7, eu fiz um código ilustrativo sem críticas, preparado APENAS para o melhor caso (entrada com mais de um termo e sem espaço no final):
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main () {
char str[100], *ptr;
printf ("Digite uma string\n");
scanf ("%100[^\n]s", str);
ptr = strrchr (str, ' ');
*ptr = '/0'; Esse caracter é um barra zero
printf("%s, %s\n", ptr + 1, str);
system ("pause");
return 0;
}
Question
FJordan
Espero ter ajudado! :)
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.