Obrigado pela força, Marcelo! E pela atenção. Já estou vendo que a coisa não vai ser mesmo nada fácil! Mas com calma e um pouco da ajuda de vocês, chegamos lá! :)  Vamos ao 'problema'...  Segue o código até onde o tenho   #include <stdio.h>
#include <conio.h>
main()
{     
     int i;
     int menor1, menor2;
     
     struct time
     {
         char nome[20];
         int pontos;
     };
     
     struct time vet[20];
     
     for(i=0;i<5;i++)
     {
         printf("Entre com o nome pra o primeiro time %d\n",i+1);
         scanf("%s", &vet[i].nome);
         printf("Entre com os pontos.\n");
         scanf("%d", &vet[i].pontos);
     }
     
     menor1 = vet[0].pontos;
     menor2 = vet[0].pontos;
     
     for(i=0;i<5;i++)
     {
         if(vet[i].pontos<menor1)
             menor1 = vet[i].pontos;
         else
            vet[i].pontos = vet[i].pontos;
     }
     
     for(i=0;i<5;i++)
     {
         if(vet[i].pontos<menor2 && vet[i].pontos>menor1)
             menor2 = vet[i].pontos;
         else
            vet[i].pontos = vet[i].pontos;
     }
     
     for(i=0;i<5;i++)
     {
         printf("Time um e : %s\n", vet[i].nome);
         printf("Tem %d pontos\n", vet[i].pontos);
     }
     
     printf("Menor 'pontos' : %d\n", menor1);
     printf("Menor 'pontos2' : %d\n", menor2);
     
     printf("Times rebaixados\n");
     .
     .
     .
        
     getch();
}  Nota-se que nesse caso seriam apenas 5 clubes, já que pra atribuir valor pra 20 demora um bocado! :P  Criei essas variáveis (menor1 e menor2) pra que eu encontrasse os dois menores campo pontos. O exercício pede pra que eu imprima os nomes dos times que tem esses respectivos pontos, aí o problema!  Por exemplo:  Time 1 - 20 Pontos Time 2 - 30 pontos Time 3 - 25 pontos ...  eu consigo encontrar 20 e 25, que são os menores pro campo pontos,  mas não sei relacionar com Time 1 e Time 2.  Não ficando claro me avisem que eu tento explicar melhor.  :)  Abraços e obrigado de novo!