본문 바로가기

과제모음

[컴프2]C언어 입력받은 날짜의 요일출력

반응형
#include <stdio.h>
// 입력받은 날짜의 요일을 출력하는 프로그램
void main(){
int i;
int iY, iM, iD;
int cntday =0;
printf("Year : ");
scanf("%d", &iY);
printf("Month : ");
scanf("%d", &iM);
printf("Day : ");
scanf("%d", &iD);
for(i = 1978; i<iY; i++){
if(i%4 == 0 && i%100 != 0 || i%400 ==0){ // 윤년이면
cntday += 366;
}
else{ // 윤년아니면
cntday += 365;
}
}
for(i = 1; i<iM; i++){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
cntday += 31;
break;
case 2:
if(i%4 == 0 && i%100 != 0 || i%400 ==0){ // 윤년이면
cntday += 29;
}
else{
cntday += 28;
}
break;
default:
cntday += 30;
}
}
cntday += iD-1;
cntday %= 7;
switch(cntday){
case 0:
printf("일요일\n");
break;
case 1:
printf("월요일\n");
break;
case 2:
printf("화요일\n");
break;
case 3:
printf("수요일\n");
break;
case 4:
printf("목요일\n");
break;
case 5:
printf("금요일\n");
break;
default :
printf("토요일\n");
}
}
반응형