解题思路:
注意事项:
参考代码:#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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复