请问怎么用纯C语言写一个日历??
这学期刚学完C,老师叫写个日历,就问问,写这个日历要用到些什么,提示一下就行,代码可以不要,谢谢
代码给你吧,思路自己看:
#include <stdio.h>
int runnian(int); //
void main()
{
int a[12][42] = {0}; //
long int days = 0; //
int n=1; //
int c; //
int p; //
int x ,y,i,j,m,b;
printf("请输入年份"); //
scanf("%6d",&b); //
while(n < b) //
{
if( runnian( n ) ) //
c = 366;
else
c = 365;
days = days + c;
n++;
}
p=days%7; //
for(i=0;i<12;i++) //
{
x=1;
if(i==0||i==2||i==4||i==6||i==7||i==9||i==11)
{
y=0;
for(j=p;j<42;j++)
{
a[i][j]=x++;
if(x>31)
{
y = j+1;
break;
}
}
p=y%7;
}
else
if(i==1&&runnian( b )) //
{
int y=0;
for(j=p;j<42;j++)
{
a[i][j]=x++;
if(x>29)
{
y = j+1;
break;
}
}
p=y%7;
}
else
if(i==1)
{
int y=0;
for(j=p;j<42;j++)
{
a[i][j]=x++;
if(x>28)
{
y = j+1;
break;
}
}
p=y%7;
}
else
{
y=0;
for(j=p;j<42;j++)
{
a[i][j]=x++;
if(x>30)
{
y = j+1;
break;
}
}
p=y%7;
}
}
for(m=1;m<=12;m++) //
{
printf("%3dmonth\n",m); //
printf("请输入年份\n"); //
for(j=0;j<6;j++)
{ //
for(i=j*7;i<(j+1)*7;i++)
{
if(a[m-1][i]==0)
{
printf(" ");
}
else
{
printf("%3d ",a[m-1][i]);
}
}
printf("\n");
}
}
}
int runnian( int b ) //
{
if ((b %4 == 0) && (b % 100 != 0) ||
(b % 400 == 0) )
return 1; //
else
return 0;
}