C语言学习万年历代码.doc_第1页
C语言学习万年历代码.doc_第2页
C语言学习万年历代码.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言学习-万年历程序源代码作者-匡晨辉 版权所有,翻版必究。这是一款可以查询从公元一年一月一日到任何时间的万年历,只需输入年月即可打印当年当月的日历,100%正确。此代码仅供学习参考。其源代码如下:#includevoid main()int i,j,a,b,d,ad,bd,sumyd=0;long sumnd=0,sum;printf(请输入要查看的年月n);scanf(%d%d,&a,&b);if(b=1|b=3|b=5|b=7|b=8|b=10|b=12)/求这个月的天数。d=31;else if(b=2)if(a%4=0&a%100!=0|a%400=0)d=29;elsed=28;elsed=30;for(b;b=1;b-)/注意是这个月月末到前几个月的天数和,if(b=1|b=3|b=5|b=7|b=8|b=10|b=12)bd=31;else if(b=2)if(a%4=0&a%100!=0|a%400=0)bd=29;elsebd=28;elsebd=30;sumyd+=bd;for(a-1;(a-1)=1;a-)/注意是这一年的前几年的天数,考虑到闰年,要把闰年的算法放到求天数和的循环内。if(a-1)%4=0&(a-1)%100!=0|(a-1)%400=0)/执行这句后a会变为2,所以为了避免影响求这个月的天数,必须放到后面来。ad=366;elsead=365; sumnd+=ad;sum=sumnd+sumyd-d;/求出这年这个月第一天之前的天数printf(这年这月第一天之前有%d天n,sum);j=sum%7;printf(这个月有%d天n,d);/测试求当月天数的算法是否正确。printf(n 日 一 二 三 四 五 六n);for(i=1;i=j+1;i+)/注意公元1年一月一日是星期一。printf(t );for(i=1;i=d;i+)if(i+j)%7=0)/注意是i+j对7求余=0时才换行。由于前面空了j+1个位置,所以一定要把j加上-1再来对7求余。printf(n);printf(t%d,i);printf(n);/声明:由于这是我在vc+6.0环境中编写的,当输出星期符(日 一 二 三)每个字符追加了一个制表符来让其对齐,如下图。但复制到word中就没有体现出这个制表符的作用。所以学习时要注意这个美观问题。总结:有时,我们不能太节约定义变量。否则到后面变量值都在变,容易搞混了,甚至出错。况且,现在的计算机的性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论