Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Questão 96:
- Escreva um programa que leia cinco números inteiros e determine o segundo maior número digitado pelo usuário e a ordem em que o mesmo foi digitado.
- */
- #include <stdio.h>
- void main() {
- // maior valor visto até o momento
- int maior;
- // posição do maior valor visto até o momento
- int pos_maior;
- // segundo maior valor visto até o momento
- int segundo_maior;
- // posição do segundo maior valor visto até o momento
- int pos_segundo_maior;
- // 1 2 3 4 5
- // maior = 1, posição = 1
- // maior = 2, posição 2 /// segundo_maior = 1, posição 1
- // ...
- int numero;
- // lendo primeiro valor
- printf("Informe o primeiro valor: ");
- scanf("%d", &numero);
- // definindo parâmetro de comparação inicial
- // que no caso é o primeiro valor
- maior = numero;
- pos_maior = 1;
- // lendo segundo valor
- printf("Informe o segundo valor: ");
- scanf("%d", &numero);
- /*
- -- adicionando o segundo parâmetro de comparação inicial --
- Nessa parte, ou o 2º valor ocupará a maior posição e o 1º valor a segunda maior posição,
- ou o 1º valor continuará a ocupar a maior posição e o 2º valor ocupará a segunda maior posição, servindo assim, como parâmetro de comparação inicial
- */
- if (numero > maior) {
- segundo_maior = maior;
- pos_segundo_maior = pos_maior;
- maior = numero;
- pos_maior = 2;
- } else {
- segundo_maior = numero;
- pos_segundo_maior = 2;
- }
- // lendo terceiro valor
- printf("Informe o terceiro valor: ");
- scanf("%d", &numero);
- // agora, só basta comparar os valores com os parâmetros de comparação que definimos anteriormente
- if (numero > maior) {
- segundo_maior = maior;
- pos_segundo_maior = pos_maior;
- maior = numero;
- pos_maior = 3;
- } else if (numero > segundo_maior) {
- segundo_maior = numero;
- pos_segundo_maior = 3;
- }
- // lendo quarto valor
- printf("Informe o quarto valor: ");
- scanf("%d", &numero);
- if (numero > maior) {
- segundo_maior = maior;
- pos_segundo_maior = pos_maior;
- maior = numero;
- pos_maior = 4;
- } else if (numero > segundo_maior) {
- segundo_maior = numero;
- pos_segundo_maior = 4;
- }
- // lendo quinto valor
- printf("Informe o quinto valor: ");
- scanf("%d", &numero);
- if (numero > maior) {
- segundo_maior = maior;
- pos_segundo_maior = pos_maior;
- maior = numero;
- pos_maior = 5;
- } else if (numero > segundo_maior) {
- segundo_maior = numero;
- pos_segundo_maior = 5;
- }
- // imprimindo resultado
- printf("O segundo maior valor eh: %d e sua posicao eh %d", segundo_maior, pos_segundo_maior);
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment