usando a logica de programação c/c++ , escreva um programa que receba uma string de até 20 caracteres e imprima a string digitada e esta mesma string em ordem inversa com todas as vogas substituídas pelo caractere @
/*Autor: Pedro Paulo LSousa
Graduando em Sistemas de Informação - UFPA
*/
#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
#include<string.h>
int main(){
//reconhecer acentos
setlocale(LC_ALL,"Portuguese");
//declara variaveis
char palav[20], aux[20];
int i, j=0;
printf(" Este programa recebe uma string de até 20 caracteres e os inverte.\n As vogais serão substituídas por @");
//le string com 20 caracteres incluindo espaco
printf("\n Informe a palavra a ser 'invertida': \n ");scanf(" %20[^\n]s",palav);
//i de 19 a 0 e j de 0 a 19
for(i = (strlen(palav) - 1); i >= 0; i--) {
//se vogal substitui por @
if (palav[i]=='a'||palav[i]=='e'||palav[i]=='i'||palav[i]=='o'||palav[i]=='u'
||palav[i]=='A'||palav[i]=='E'||palav[i]=='I'||palav[i]=='O'||palav[i]=='U'){
aux[j] = '@';
}
//senao troca posicao
else{
aux[j] = palav[i];
}
//incrementa j
j++;
}
//aux[j] = 0; ignore
//saida
printf("\n Palavra inserida\n");
printf(" %s\n\n",palav);
printf(" Palavra 'invertida'\n");
printf(" %s\n\n",aux);
system("pause");
return 0;
}
Com os comandos printf. Gets, for, if e else. Uma forma de montar esse programa seria:
{
int i, c;
char string[20], stringmod[20];
printf (“Digite a string:”);
gets (string);
c = 0;
for (i = strlen(string) - 1; i >= 0; i--)
{
{
if (tolower(string[i]) == 'a' || tolower(string[i]) == 'e' || tolower(string[i]) == 'i' || tolower(string[i]) == 'o' || tolower(string[i]) == 'u')
{
stringmod[c] = ‘@’;
c++;
}
else
{
stringmod[c] = string[i];
c++;
}
}
printf (“a frase original é %s.\n”, string)
printf (“a frase modificada é %s.\n”, stringmod)
}
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar