달력 문제

☆C언어/소스 2017. 6. 14. 00:49

#include<stdio.h>

int month[13]={0,1,2,3,4,5,6,7,8,9,10,11,12};

int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

char *weekname[7]={"일","월","화","수","목","금","토"};

int main(void)

{


int y=0,m=0;//년월일

int L_y=0;//작년

int total_day;//일수계산

int week=0;//요일

FILE *out; //출력파일


out=fopen("out.txt","w");




//입력

printf("Input Year : ");

scanf("%d",&y);

printf("Input month : ");

scanf("%d",&m);



//윤년계산

if((y%4==0)&& ((y%100!=0)||(y%400)))

day[2]=29;

else

day[2]=28;


//요일 계산

L_y=y-1;

total_day=(L_y+(L_y/4)-(L_y/100)+(L_y/400)+1);

for(int i=1;i<m;i++)

total_day+=day[i];

week=total_day%7;


/////////출력///////////


//년,월 출력

printf("<%d_%02d>\n",y,m);


//요일 출력

for(int i=0;i<7;i++)

printf("%7s", weekname[i]);

printf("\n");


//공백 출력

for(int i=0;i<week;i++)

{

printf("%7c"," ");

}


for(int i=1;i<=day[m];++i)

{

if(week%7==0)

printf("\n");

printf("%7d",i);

week++;

}


fclose(out);


}



'☆C언어 > 소스' 카테고리의 다른 글

괄호 검사  (0) 2017.06.17
바이너리 파일 핸들링  (0) 2017.06.15
3n+1  (0) 2013.06.27
3n+1 재귀함수  (0) 2013.06.27
최소의 동전수 (재귀)  (0) 2013.06.23