hidaenam   5달 전

#include<stdio.h>
int main() {
 char day[][5] = { "MON","TUE", "WED", "THU", "FRI", "SAT", "SUN",'\0' };
 int month[] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
 int m, k, q, i = 0;
 scanf("%d%d", &m, &q);
 if(m >= 1 && m <= 12);
 if(q >= 1 && q <= 31);
  for (k = 1; k <= month[m - 1]; k++) {
   if (m == 2) { i = 3; }
   if (m == 3) { i = 3; }
   if (m == 4) { i = 6; }
   if (m == 5) { i = 1; }
   if (m == 6) { i = 4; }
   if (m == 7) { i = 6; }
   if (m == 8) { i = 2; }
   if (m == 9) { i = 5; }
   if (m == 11) { i = 3; }
   if (m == 12) { i = 5; }
 
   if (q == k) {
    printf("%s", day[i]);
   }
   i++;
   if (i == 7) {
    i = 0;
    
   }
  }
 return 0;
}


실행하면 정상적으로 출력이 되는데... 제출 하면 틀렸다고 나와서
어떻게 해야하는지 아시는분 답변좀 부탁드릴께요 ㅠㅠ

chan4928   5달 전

#include<stdio.h>
int main() {
 char day[][5] = { "MON","TUE", "WED", "THU", "FRI", "SAT", "SUN",'\0' };
 int month[] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
 int m, k, q, i = 0;
 scanf("%d%d", &m, &q);
 if(m >= 1 && m <= 12);
 if(q >= 1 && q <= 31);
  for (k = 1; k <= month[m - 1]; k++) {
   if (m == 2) { i = 3; }
   if (m == 3) { i = 3; }
   if (m == 4) { i = 6; }
   if (m == 5) { i = 1; }
   if (m == 6) { i = 4; }
   if (m == 7) { i = 6; }
   if (m == 8) { i = 2; }
   if (m == 9) { i = 5; }
   if (m == 11) { i = 3; }
   if (m == 12) { i = 5; }

   if (q == k) {
    printf("%s", day[i]);
   }
   i++;
   if (i == 7) {
    i = 0;

   }
  }
 return 0;
}


위 부분들이 for문 안에 들어가 있어서, 2월부터 12월 사이의 월에서는 날짜 k가 변경되어도 i가 계속 고정됩니다.


ex)            2 1  -> THU           2 2 -> THU

댓글을 작성하려면 로그인해야 합니다.