Imprimir un mes calendario

Implemente una función que imprima el calendario para un mes y año determinados. Primero, solicite al usuario:

Enter the month and year:

Una vez que el usuario ingresa una entrada válida (dos enteros separados por un espacio), imprima el calendario en un formato que sea similar a la salida de UNIXcal mando. Por ejemplo, si el usuario ingresa03 2014, la salida debe ser:

Necesito ayuda para poder pedirle al usuario la entrada específica que esta pregunta está pidiendo. También tengo problemas para crear código que pueda imprimir diferentes meses según la entrada, ya que cada mes comienza en un día diferente. No puedo usar nada demasiado complejo ya que estoy tomando un curso de principiante en programación.

El código que tengo hasta ahora para imprimir solo marzo:

#include <stdio.h>

int main()
{
    int k, rmd;

    printf("     March 2014\n");
    printf(" Su Mo Tu We Th Fr Sa\n");

    for(k = 1; k < 32; ++k) {
         if(k == 1){
             printf("                   %2d\n", k); 
         }
         else if(k % 7 == 1) {
             printf(" %2d\n", k);
         }
         else {
             printf(" %2d", k);
         }
    }
    return 0;
}