Текст опубликован в личном блоге и его автор не имеет отношения к администрации сайта
#include<time.h>
#include<stdio.h>
void main()
{
FILE *f;
struct tm t;
char scr[48][80];
int w,wday,mday,year,mon=1,k,d,i,j;
char nday[7][3]={"пн","вт","ср","чт","пт","сб","вс"};
char nmon[12][9]={"январь","февраль","март",
"апрель","май","июнь","июль","август",
"сентябрь","октябрь","ноябрь","декабрь"};
int m[12]={31,28,31,30,31,30,31,31,30,31,30,31};
year=2000;
t.tm_year=year-1900;
t.tm_mon=0;
t.tm_mday=1;
t.tm_hour=0;
t.tm_min=0;
t.tm_sec=1;
t.tm_isdst=-1;
mktime(&t);
wday=t.tm_wday;
if(wday==0)wday=7;
if((year%4)==0)m[1]=29;
for(i=0;i<48;i++)
{
for(j=0;j<78;j++)
scr[i][j]=32;
scr[i][78]='\n',scr[i][79]='\0';
}
sprintf(&scr[0][24],"Календарь на %u год",year);
for(d=0;d<4;d++)
for(k=0;k<3;k++,mon++)
{
sprintf(&scr[d*12+2][9+k*25],"%s",&nmon[mon-1][0]);
w=0;
for(mday=1;mday<=m[mon-1];mday++)
{
if(wday==8)wday=1,w++;
sprintf(&scr[wday+3+d*12][k*25],"%s",&nday[wday-1][0]);
sprintf(&scr[wday+3+d*12][4+w*3+k*25],"%.2u ",mday);
wday++;
}
if(wday==8)wday=1,w++;
}
f=fopen("n6.out","w");
for(i=0;i<48;i++)
for(j=0;j<79;j++)
if(scr[i][j]==0) scr[i][j]=32;
for(i=0;i<48;i++)
fputs(&scr[i][0],f);
fclose(f);
}
январь февраль март
пн 03 10 17 24 31 пн 07 14 21 28 пн 06 13 20 27
вт 04 11 18 25 вт 01 08 15 22 29 вт 07 14 21 28
ср 05 12 19 26 ср 02 09 16 23 ср 01 08 15 22 29
чт 06 13 20 27 чт 03 10 17 24 чт 02 09 16 23 30
пт 07 14 21 28 пт 04 11 18 25 пт 03 10 17 24 31
сб 01 08 15 22 29 сб 05 12 19 26 сб 04 11 18 25
вс 02 09 16 23 30 вс 06 13 20 27 вс 05 12 19 26
апрель май июнь
пн 03 10 17 24 пн 01 08 15 22 29 пн 05 12 19 26
вт 04 11 18 25 вт 02 09 16 23 30 вт 06 13 20 27
ср 05 12 19 26 ср 03 10 17 24 31 ср 07 14 21 28
чт 06 13 20 27 чт 04 11 18 25 чт 01 08 15 22 29
пт 07 14 21 28 пт 05 12 19 26 пт 02 09 16 23 30
сб 01 08 15 22 29 сб 06 13 20 27 сб 03 10 17 24
вс 02 09 16 23 30 вс 07 14 21 28 вс 04 11 18 25
июль август сентябрь
пн 03 10 17 24 31 пн 07 14 21 28 пн 04 11 18 25
вт 04 11 18 25 вт 01 08 15 22 29 вт 05 12 19 26
ср 05 12 19 26 ср 02 09 16 23 30 ср 06 13 20 27
чт 06 13 20 27 чт 03 10 17 24 31 чт 07 14 21 28
пт 07 14 21 28 пт 04 11 18 25 пт 01 08 15 22 29
сб 01 08 15 22 29 сб 05 12 19 26 сб 02 09 16 23 30
вс 02 09 16 23 30 вс 06 13 20 27 вс 03 10 17 24
октябрь ноябрь декабрь
пн 02 09 16 23 30 пн 06 13 20 27 пн 04 11 18 25
вт 03 10 17 24 31 вт 07 14 21 28 вт 05 12 19 26
ср 04 11 18 25 ср 01 08 15 22 29 ср 06 13 20 27
чт 05 12 19 26 чт 02 09 16 23 30 чт 07 14 21 28
пт 06 13 20 27 пт 03 10 17 24 пт 01 08 15 22 29
сб 07 14 21 28 сб 04 11 18 25 сб 02 09 16 23 30
вс 01 08 15 22 29 вс 05 12 19 26 вс 03 10 17 24 31