こんくらいやれば満点だろ

#include <stdio.h>
#include <stdlib.h>
static int get_input_int( const char *prompt ) {
 char buf[256];
 printf( "%s: ", prompt );
 if ( !fgets(buf, 256, stdin) ) return -1;
 return atoi( buf );
}
int main( void ) {
 int month, day, ans, i;
 int days_of[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

 do {
  month = get_input_int( "月を入力してne!(1-12)" );
 } while ( month < 1 || month > 12 );
 do {
  char buf[30];
  snprintf( buf, 30, "日を入力してne!(1-%d)", days_of[month] );
  day = get_input_int( buf );
 } while ( day < 1 || day > days_of[month] );

 ans = -1;
 for ( i = 1; i < month; i++ )
 ans += days_of[i];
 ans += day;
 printf( "答えは %d 日だyo!\n", ans );
 return 0;
}

......と言ってみるテスト