程序设计:望各位高手帮小弟解答,不胜感激!!! 20

已知2000年1月1日为星期六,请输入任一年的年份后,打印该年的年历。(只能用C语言编写,不能用其他的,一定要详细点,最好写三份),太谢谢了,如果还有时间可以写写您的思路... 已知2000年1月1日为星期六,请输入任一年的年份后,打印该年的年历。
(只能用C语言编写,不能用其他的,一定要详细点,最好写三份),太谢谢了,如果还有时间可以写写您的思路。写的好再加分~~~
谢谢这位朋友,但是不得不说我运行的时候你有21处错误,8个警告,嘿嘿,修改一下。。。。。。。。。
展开
 我来答
百度网友cbbfb23d7
2006-09-05 · 超过31用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
int main()
{
int year,week;
scanf(\"%d\",&year);
if(year==2000)week=6;
else if(year<2000)week=((year-2000)*365+(year-2000)/4+6)%7+7;
else week=((year-2000)*365+(year-2000)/4+((year-2000)%4!=0)+6)%7;
printf(\"\\t\\t%d年年历\\n\\n\",year);

for(int i=1;i<13;i++)
{
printf(\"%d月:\\n\",i);
printf(\"日\\t一\\t二\\t三\\t四\\t五\\t六\\n\");
int day;
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)day=31;
else if(i==2&&(year%400==0||year%4==0))day=29;
else if(i==2)day=28;
else day=30;
week%=7;
for(int j=0;j<week;j++)printf(\"\\t\");
for(j=1;j<=day;j++)
{
if(week%7==0&&j!=11)printf(\"\\n%d\\t\",j);
else printf(\"%d\\t\",j);
week++;
}
printf(\"\\n\\n\");
}
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式