C语言
已知公元1年1月1日是周一
#include<stdio.h>
#define N 100
int main()
{
int n,x,i,j,m=0,k,h,l;
int M[2][12]={{31,29,31,30,31,30,31,31,30,31,30,31},{31,28,31,30,31,30,31,31,30,31,30,31}};
scanf("%d%d",&n,&x);
printf(" 一 二 三 四 五 六 日\n");
if((n%4=0&&n%100!=0)||n%400=0)//这个地方应该将‘=’换成==
{
l=0;
}
else
{
l=1;
}
for(i=1;i<n;i++)
{
if((n%4=0&&n%100!=0)||n%400=0)//这个地方应该将‘=’换成==
m=m+366;
else
m=m+365;
}
if(x>2)
{
for(i=0;i<x-1;i++)
{
m=m+M[l][i];
}
}
if(x==2)
{
m=M[l][1]+m;
}
j=m%7-1;
for(k=0;k<j;k++)
{
printf(" “);
}
h=1;
for(i=1;i<=M[l][x-1];i++)
{
printf(”%4d",i);
if((j+h)==7)
{
printf("\n");
j=0;
h=0;
}
h++;
}
return 0;
}
最后想问个问题:为什么不能写两个等号呢?(无奈)