검색결과 리스트
글
달력 1~12월 다 찍어내기
#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;//요일
int m_week[13];
int calendar[13][7][8]={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);
m_week[1]=total_day%7;
for(int i=1;i<12;i++)
{
total_day+=day[i];
m_week[i+1]=total_day%7;
}
// week=total_day%7;
int num_count=1;
for(int j=1;j<=12;++j)
{
// printf("%d월\n",j);
int k=1,q=1;
num_count=1;
for(int i=1;i<=42;++i) //5*7다 돌림
{
if(num_count>day[j]) //날짜 다찍으면 탈출
break;
if(i<=m_week[j])
{
calendar[j][k][q]=0;
// printf("%2d",calendar[j][k][q]);
}
else
{
calendar[j][k][q]=num_count++;
// printf("%2d",calendar[j][k][q]);
}
q++;
if(i%7==0)
{
k++; //열증가
q=1; //행초기화
// printf("\n");
}
}
}
printf("<%d>\n",y);
int s=1; //달
for(int j=1;j<5;j++)
{
printf("%d월\t\t\t%d월\t\t\t%d월\n",s,s+1,s+2);
for(int i=0;i<3;i++)
{
for(int e=0;e<7;e++)
{
printf("%s",weekname[e]);
}
printf("\t\t");
}
printf("\n");
for(int x=1;x<7;++x)
{
for(int y=1;y<8;++y)
{
if(calendar[s][x][y]==0)
printf(" ");
else
printf("%2d",calendar[s][x][y]);
}
printf("\t\t");
for(int y=1;y<8;++y)
{
if(calendar[s+1][x][y]==0)
printf(" ");
else
printf("%2d",calendar[s+1][x][y]);
}
printf("\t\t");
for(int y=1;y<8;++y)
{
if(calendar[s+2][x][y]==0)
printf(" ");
else
printf("%2d",calendar[s+2][x][y]);
}
printf("\n");
}
s=s+3;
}
fclose(out);
}
'☆C언어' 카테고리의 다른 글
개미 문제(틀림) (0) | 2017.11.14 |
---|---|
fflush 함수 (0) | 2017.06.19 |
c언어 꿀팁 (0) | 2014.10.14 |
조건부 컴파일 #if #elif #else #endif (0) | 2013.10.09 |
2차원 배열 포인터 (0) | 2012.09.18 |