编写c语言万年历程序 要求打印任意年份的日历或某年某月的月历或者查询某天是星期几

谢谢了... 谢谢了 展开
 我来答
710732527
推荐于2016-10-11 · 超过16用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:36万
展开全部
#include <stdio.h>
int numday[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
int IsLeap(int y)
{
return (y%400==0||y%4==0&&y%100!=0);
}
void print(int y,int m,int w)
{
int i,j,l;
printf("Calendar %d-%02d\n",y,m);
printf("---------------------\n");
printf("Su Mo Tu We Th Fr Sa \n");
printf("---------------------\n");
for (i=0;i<w;i++)
printf(" ");
if (IsLeap(y))
l=1;
else
l=0;

for (i=1;i<=numday[l][m-1];i++)
{
printf("%-3d",i);
w++;
if (w%7==0)
printf("\n");
}
if (w%7) printf("\n");
printf("---------------------\n");
}
int calday(int y,int m)
{
int i,j,d=0,w;
while (y>2007)
{
if (IsLeap(y)) d+=366;
else d+=365;
y--;
}
while (m>1)
{ --m;
d+=numday[0][m-1];
}
w=(d+1)%7;
return w;
}
int main()
{
int year,month,w;
int i,j,day=0;
scanf("%d%d",&year,&month);
if (year<2007) return 0;
w=calday(year,month);
print(year,month,w);
return 0;
}
你看这个可以吗?
追问
我试下
追答
能用就好,很高兴能帮到你
a1012144015
2016-01-02 · TA获得超过6415个赞
知道大有可为答主
回答量:9038
采纳率:40%
帮助的人:1353万
展开全部
代码如下:
#include <stdio.h> int numday[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31}, {31,29,31,30,31,30,31,31,30,31,30,31}}; int IsLeap(int y) { return (y%400==0||y%4==0&&y%100!=0); } void print(int y,int m,int w) { int i,j,l; printf("Calendar %d-%02d\n",y,m); printf("---------------------\n"); printf("Su Mo Tu We Th Fr Sa \n"); printf("---------------------\n"); for (i=0;i<w;i++) printf(" "); if (IsLeap(y)) l=1; else l=0; for (i=1;i<=numday[l][m-1];i++) { printf("%-3d",i); w++; if (w%7==0) printf("\n"); } if (w%7) printf("\n"); printf("---------------------\n"); } int calday(int y,int m) { int i,j,d=0,w; while (y>2007) { if (IsLeap(y)) d+=366; else d+=365; y--; } while (m>1) { --m; d+=numday[0][m-1]; } w=(d+1)%7; return w; } int main() { int year,month,w; int i,j,day=0; scanf("%d%d",&year,&month); if (year<2007) return 0; w=calday(year,month); print(year,month,w); return 0; }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式