解题思路:
注意事项:
参考代码:#include<stdio.h>
int main()
{
int n, m, i, a, b, sum = 0;
scanf("%d %d", &n, &m);
if(n >= 2007)
{
printf("---------------------\n");
printf(" Su Mo Tu We Th Fr Sa\n");
printf("---------------------\n");
for(i = 2007; i <n; i++)
{
if((i%4==0 || i%400 == 0 )&& i%100!=0)
{
sum += 366;
}
else
{
sum += 365;
}
}
b = sum%7;
switch(m)
{
case 1: a = 1;break;
case 2: a = 4;break;
case 3: a = 4;break;
case 4: a = 7;break;
case 5: a = 2;break;
case 6: a = 5;break;
case 7: a = 7;break;
case 8: a = 3;break;
case 9: a = 6;break;
case 10: a = 1;break;
case 11: a = 4;break;
case 12: a = 6;break;
}
a = (a+b)%7;
if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
{
for(i = 0; i < a; i++)
{
printf(" ");
}
for(i = 1; i <= 31; i++)
{
printf("%3d", i);
a++;
if(a%7 == 0)
{
printf("\n");
}
}
printf("\n---------------------\n");
return 0;
}
if(m == 4 || m == 6 || m == 9 || m == 11)
{
// printf("%d", a);
for(i = 0; i < a; i++)
{
printf(" ");
}
for(i = 1; i <= 30; i++)
{
printf("%3d", i);
a++;
if(a%7 == 0)
{
printf("\n");
}
}
printf("\n---------------------\n");
return 0;
}
if(m == 2)
{
if((n%4==0 || n%400 == 0 )&& n%100!=0)
{
for(i = 0; i < a; i++)
{
printf(" ");
}
for(i = 1; i <= 29; i++)
{
printf("%3d", i);
a++;
if(a%7 == 0)
{
printf("\n");
}
}
printf("\n---------------------\n");
return 0;
}
else
{
for(i = 0; i < a; i++)
{
printf(" ");
}
for(i = 1; i <= 28; i++)
{
printf("%3d", i);
a++;
if(a%7 == 0)
{
printf("\n");
}
}
printf("\n---------------------\n");
return 0;
}
}
}
if(n < 2007)
{
return 0;
}
return 0;
}
0.0分
0 人评分