解题思路:
注意事项:
参考代码:#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语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:906 |
Tom数 (C语言代码)浏览:2012 |
点我有惊喜!你懂得!浏览:1238 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1884 |
多输入输出练习1 (C语言代码)浏览:1187 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:751 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:880 |
简单的for循环浏览:1410 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:936 |
WU-格式化数据输出 (C语言代码)浏览:1755 |