Joao_Joao

Questão 96 Lista de Exercícios IFPB

May 5th, 2023
901
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.95 KB | None | 0 0
  1. /*
  2. Questão 96:
  3. 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.
  4. */
  5.  
  6. #include <stdio.h>
  7.  
  8. void main() {
  9.     // maior valor visto até o momento
  10.     int maior;
  11.     // posição do maior valor visto até o momento
  12.     int pos_maior;
  13.     // segundo maior valor visto até o momento
  14.     int segundo_maior;
  15.     // posição do segundo maior valor visto até o momento
  16.     int pos_segundo_maior;
  17.  
  18.     // 1 2 3 4 5
  19.     // maior = 1, posição = 1
  20.     // maior = 2, posição 2 /// segundo_maior = 1, posição 1
  21.     // ...
  22.    
  23.     int numero;
  24.    
  25.     // lendo primeiro valor
  26.     printf("Informe o primeiro valor: ");
  27.     scanf("%d", &numero);
  28.    
  29.     // definindo parâmetro de comparação inicial
  30.     // que no caso é o primeiro valor
  31.     maior = numero;
  32.     pos_maior = 1;
  33.    
  34.     // lendo segundo valor
  35.     printf("Informe o segundo valor: ");
  36.     scanf("%d", &numero);
  37.    
  38.     /*
  39.     -- adicionando o segundo parâmetro de comparação inicial --
  40.     Nessa parte, ou o 2º valor ocupará a maior posição e o 1º valor a segunda maior posição,
  41.     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
  42.     */
  43.  
  44.     if (numero > maior) {
  45.         segundo_maior = maior;
  46.         pos_segundo_maior = pos_maior;
  47.        
  48.         maior = numero;
  49.         pos_maior = 2;
  50.     } else {
  51.         segundo_maior = numero;
  52.         pos_segundo_maior = 2;
  53.     }
  54.    
  55.     // lendo terceiro valor
  56.     printf("Informe o terceiro valor: ");
  57.     scanf("%d", &numero);
  58.  
  59.     // agora, só basta comparar os valores com os parâmetros de comparação que definimos anteriormente
  60.    
  61.     if (numero > maior) {
  62.         segundo_maior = maior;
  63.         pos_segundo_maior = pos_maior;
  64.        
  65.         maior = numero;
  66.         pos_maior = 3;
  67.     } else if (numero > segundo_maior) {
  68.         segundo_maior = numero;
  69.         pos_segundo_maior = 3;
  70.     }
  71.    
  72.     // lendo quarto valor
  73.     printf("Informe o quarto valor: ");
  74.     scanf("%d", &numero);
  75.    
  76.     if (numero > maior) {
  77.         segundo_maior = maior;
  78.         pos_segundo_maior = pos_maior;
  79.        
  80.         maior = numero;
  81.         pos_maior = 4;
  82.     } else if (numero > segundo_maior) {
  83.         segundo_maior = numero;
  84.         pos_segundo_maior = 4;
  85.     }
  86.    
  87.     // lendo quinto valor
  88.     printf("Informe o quinto valor: ");
  89.     scanf("%d", &numero);
  90.    
  91.     if (numero > maior) {
  92.         segundo_maior = maior;
  93.         pos_segundo_maior = pos_maior;
  94.        
  95.         maior = numero;
  96.         pos_maior = 5;
  97.     } else if (numero > segundo_maior) {
  98.         segundo_maior = numero;
  99.         pos_segundo_maior = 5;
  100.     }
  101.    
  102.     // imprimindo resultado
  103.     printf("O segundo maior valor eh: %d e sua posicao eh %d", segundo_maior, pos_segundo_maior);
  104.    
  105.     getch();
  106. }
  107.  
Advertisement
Add Comment
Please, Sign In to add comment