• Matéria: Informática
  • Autor: Anônimo
  • Perguntado 8 anos atrás

Escreva um programa em linguagem C que leia a idade e o primeiro nome de 10 pessoas. Seu programa deve terminar quando uma idade negativa for digitada. Ao terminar, seu programa deve escrever o nome e a idade das pessoas mais jovens e mais velhas.


jvsilvictorox7rfj: "mais jovem e mais velha", certo ? No singular, confere ?
jvsilvictorox7rfj: Ah sim, pode haver 2 com mesma idade, no caso, podendo ser as duas mais novas... Já já posto o código :)

Respostas

respondido por: jvsilvictorox7rfj
5



SEGUE O CÓDIGO EM C:


#include <stdio.h>

struct Pessoa
{
    char nome[50];
    int idade;
};


int main ()
{
    struct Pessoa Pessoas[10];
    int menor = 999, maior = 0;
   
    for(int i=0 ; i < 10; i++)
    {
        printf("Informe o Nome da %dª Pessoa: ", i+1);
        scanf("%s", &Pessoas[i].nome);
       
        printf("Informe a idade da %dª Pessoa: ", i+1);
        scanf("%d", &Pessoas[i].idade);
       
        if(Pessoas[i].idade < 0) break;
       
        if(Pessoas[i].idade > maior) maior = Pessoas[i].idade;
        if(Pessoas[i].idade < menor) menor = Pessoas[i].idade;
    }
   
    //PESSOAS MAIS NOVAS
    printf("\nPessoa(s) mais nova(s):\n");
    for(int i=0 ; i < 10; i++)
    {
        if(Pessoas[i].idade < 0) break;
        if(Pessoas[i].idade == menor)
        printf("Nome: %s    Idade: %d anos\n", Pessoas[i].nome, Pessoas[i].idade);
    }
   
    //PESSOAS MAIS VELHAS
    printf("\nPessoa(s) mais velhas(s):\n");
    for(int i=0 ; i < 10; i++)
    {
        if(Pessoas[i].idade < 0) break;
        if(Pessoas[i].idade == maior)
        printf("Nome: %s    Idade: %d anos\n", Pessoas[i].nome, Pessoas[i].idade);
    }

    return 0;
}



Perguntas similares