Ir ao conteúdo

Posts recomendados

Postado

crie um programa que leia 6 valores inteiros pares e em seguida mostre na tela os valores lidos na ordem inversa.

#include<stdio.h>
#include<stdlib.h>
int main(void){
	
	int v[6];
	int i, par;
	
	
	for(i=0; i<6; i++){
		printf("Digite um numero par: ", (i+1));
		scanf("%d", &v[i]);
		if(v[i] % 2 !=0){
			exit(0);
		}
	}
	for(i=5; i>=0; i--){
		printf("%d\n", v[i]);
	}
	
	
	
	
	
	
	
	return 0;
}

A forma que eu fiz está correta ou tem o que melhorar?

  • Amei 1
Postado

@Robs156    ele vai funcionar , mas porém se digitar número ímpar ou letras ao invés de número , ele vai para a execução e sair .,  então creio que seria melhor validar o que for digitado , e se não for válido voltar e repetir para pegar o número da mesma posição do vetor ,  e usando a função "fgets"  que lê string's , assim pode digitar qualquer caractere e a função "atoi" converte a string para int , você faz as comparações .

Postado

como o @devair1010 disse seu codigo não esta ruim mas e possível fazer algumas melhorias por exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h> // para usar isdigit

int main(void) {
    int v[6];
    int i, par;
    char str[10]; // buffer para armazenar a entrada com fgets

    for (i = 0; i < 6; i++) {
        printf("Digite um numero par: ", (i + 1));
        fgets(str, sizeof(str), stdin); // lê a entrada como string

        // verifica se a string é composta apenas por dígitos
        int valid = 1;
        for (int j = 0; j < strlen(str); j++) {
            if (!isdigit(str[j])) {
                valid = 0;
                break;
            }
        }

        // se a string não é válida, exibe mensagem de erro e lê novamente
        if (!valid) {
            printf("Entrada inválida! Digite apenas números.\n");
             i--; // decrementa o contador para ler o número novamente
        continue; // volta para o início do loop
    }

    // converte a string para inteiro e armazena no vetor
    v[i] = atoi(str);

    // verifica se o número é par
    if (v[i] % 2 != 0) {
        printf("O numero deve ser par!\n");
        i--; // decrementa o contador para ler o número novamente
        continue; // volta para o início do loop
    }
}

for (i = 5; i >= 0; i--) {
    printf("%d\n", v[i]);
}

return 0;

 

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!