Q:

Guardar datos usando un struct

Quiero guardar los tiempos de los atletas en minutos y segundos. Para eso, hice un struct de tiempo. Pero tengo dos problemas: 

Me queda guardado solamente el último dato ingresado.  
Cuando le pido que controle que el usuario no ingrese más de 59 minutos, ni segundos, me salta del programa. Pongo: if (tiempo.minutos < 60 && tiempo.segundos < 60).  

Les muestro el código: 
#include<stdio.h>

struct time{
  int minutos;
  int segundos;
}tiempo;

int main(){

int atleta [10];
int i=0;

for (i=0;i<10;i++){
  printf ("\nEscriba el tiempo del atleta [%d]:\n ", i+1);
  printf ("Minutos: ");
  scanf ("%d", &tiempo.minutos);
  printf ("\n Segundos: ");
  scanf ("%d", &tiempo.segundos);
}

for (i=0;i<10;i++){
  printf ("\n Tiempo atleta [%d]: ", i+1);
  printf ("%d", tiempo.minutos);
  printf (" minutos y %d segundos.\n", tiempo.segundos);
}

}

A:

Estas cargando 1 solo struct y lo pisas 10 veces, deberías crear un array de tu struct y recorrer uno por uno.
struct time{
  int minutos;
  int segundos;
};

struct time tiempos[10];

int main(){

y luego cargarlos / consultarlos dentro del for
 scanf ("%d", &tiempos[i].minutos);

