#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
hidaenam 7년 전
#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;
}
실행하면 정상적으로 출력이 되는데... 제출 하면 틀렸다고 나와서
어떻게 해야하는지 아시는분 답변좀 부탁드릴께요 ㅠㅠ