这是一个实现万年历的程序,我从书上copy到TC.exe上,再修改了多次依然未能完美的呈现万年历的效果。各位高手教教我吧~!注释部分纯属我个人的理解,还有我不理解之处。

#include

int IsLeapYear(int);

main()

{

int i,day,year,temp,temp_i;

long int Year_days=0;

int Year_Start=1;

int Per_Year_Days;

int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31,29};

printf("please input the year: ");

scanf("%d",&year);

while(Year_Start < year)/*while循环让Year_Start比所输入的年份多一年*/

{

if(IsLeapYear(Year_Start))

Per_Year_Days=366;

else

Per_Year_Days=365;

Year_days=Year_days+Per_Year_Days;

Year_Start++;

}

for(temp=1;temp<=12;temp++)/*循环输出一年12个月*/

{

switch(temp)

{

case 1:

printf("January(%d)\n",year);

break;

case 2:

printf("February(%d)\n",year);

break;

case 3:

printf("March(%d)\n",year);

break;

case 4:

printf("April(%d)\n",year);

break;

case 5:

printf("May(%d)\n",year);

break;

case 6:

printf("June(%d)\n",year);

break;

case 7:

printf("July(%d)\n",year);

break;

case 8:

printf("August(%d)\n",year);

break;

case 9:

printf("September(%d)\n",year);

break;

case 10:

printf("October(%d)\n",year);

break;

case 11:

printf("November(%d)\n",year);

break;

case 12:

printf("December(%d)\n",year);

break;

}

i=Year_days%7;  /*这个i=Year_days%7在后面的i是否等于0用到,我真的很不明白这个i到底有什么用。365和366跟7求余都不会等于0 的啦*/

printf("Mon  Tue  Wed  Thu  Fri  Sat  Sun\n");

if(i!=0)

for(temp_i=0;temp_i

printf("    ");

day =1;

if(IsLeapYear(year)&&temp==2)

while(day<= month_day[12])

{

if(day>1)

if(Year_days%7==0)

printf("\n");

if(day>=10)

printf("%d  ",day);

else

printf("%d  ",day);

Year_days++;

day++;

}

else

while(day<=month_day[temp-1])

{

if(day>1)

if(Year_days%7==0)

printf("\n");

if(day>=10)

printf("%d  ",day);

else

printf("%d  ",day);

Year_days++;

day++;

}

printf("\n");

if(getch()=='q')/*这个if语句里的条件我不明白是什么意思,程序由始至终都没出现'q'呀*/

exit(0);

}

getch();

}

int IsLeapYear(int year)/*判断闰年,因为闰年多一天要输出*/

{

if((year%4==0)&&(year%100!=0)||(year%400==0))

return 1;

else

return 0;

}

程序完毕!

注释里有我不明白的地方,知道的高手请多多指教!

linux万年历,万年历_十万代码进行时的技术博客_51CTO博客相关推荐

  1. linux pclint配置_自动代码检查分享之PCLINT

    当我们花了很长时间来重现和排查一个问题后,发现原来是由于变量未赋初始值:当我们排查一个客户重大异常后,发现原因尽然是IF判断时用了单等号.这些都是比较低级的问题,但凡一个有基础的程序员都能看出来写错了 ...

  2. linux给文件夹腹权限,文件的权限_腹有诗书气自华的技术博客_51CTO博客

    1.文件与目录属性 # ls -l filename###文件属性查看 -rwxr-xr-x.2rootroot     6Oct  2 09:42file 第一列:文件类型和文件权限 如果这一位上有 ...

  3. 鸿蒙安装elasticsearch7,安装操作系统_岁寒,然后知松柏之后凋也的技术博客_51CTO博客...

    安装操作系统 了解了主流操作系统后,我们就要开始进入学习之中了,而学习之前,首先得做的就是安装操作系统 接下来就开始进行操作系统安装的步骤吧 linux操作系统安装有两种方式 1.文本安装 优点:可以 ...

  4. c语言用十年算入门,初识C语言_十年饮冰 难凉热血的技术博客_51CTO博客

    今天学习了C语言的字符串和转义字符:我总结了如下的一些知识点来和初学C语言的小伙伴们 分享一下!也希望能得到大家的指点或者能和大家一起讨论! 字符串的定义:"hello"像这种由双 ...

  5. linux kdb,kdb命令_linux虚拟内存的技术博客_51CTO博客

    dmesg: 该命令用于打印内核的相关信息 kill: 向进程发送信号 语法:kill - lsmod: 列出了系统中所有的当前系统中可装载模块的信息 第一列:模块名 第二列:模块的代码量 第三列:模 ...

  6. android 有vi命令行,vi命令详解_游离在Android与ios之间的技术博客_51CTO博客

    vi 简易说明 要管理好 Linux 系统﹐少不了要对设定档案进行编辑,如果您用惯了 Microsoft Word 或 Corel Wordperfect 的话,除了 Xwindows 里面的编辑程式 ...

  7. arm linux下 chkntfs,XPE开机自动扫描相关_Windows Embedded Standard 7 嵌入式定制的技术博客_51CTO博客...

    1,XPE中与非正常关机后开机自动扫描磁盘相关的组件是:Fat/NTFS Common Format/ToolsFiles. 内含chkdsk.exe,chkntfs.exe等. 2,应用程序相关: ...

  8. linux下数据库的基本管理,数据库的管理_linux 运维之道 基础篇的技术博客_51CTO博客...

    {**数据库**} 1.安装: yum install mariadb-server.x86_64 -y安装服务 systemctl start mariadb    开启服务 systemctl s ...

  9. linux tar zcfp 打包,tar命令_Study-Everyday的技术博客_51CTO博客

    tar命令主要用于对文件或目录进行打包或解包 语法参数参数含义说明 -zzip使用zip进行解压或压缩 -jbzip2使用bzip2进行解压或压缩 -ccreate创建一个打包文件 -xextract ...

最新文章

  1. Python 最强编辑器详细使用指南!
  2. JS中try....catch
  3. 改善DataGrid的默認分頁使其更友好
  4. hihocoder #1343 : Stable Members(支配树)
  5. c++ 预处理命令 #if, #ifdef, #ifndef, #else, #elif, #endif用法
  6. 历届试题 分考场(DFS,染色问题)
  7. java 18 -4 LinkedHashMap集合
  8. centos查看当前目录下文件大小_centos Linux 统计某个文件夹占用空间大小
  9. 赚钱的方法地推拉新一定算一个
  10. 我为何不再愿意打一份朝九晚五的工?
  11. C++ static、const和static const类型成员变量声明及其初始化
  12. conda - 创建虚拟环境并配置tensorflow-gpu
  13. 管理与决策这属于计算机在什么方面的应用,闽高校计算机一级考试选择题题库...
  14. VBA在工作中的应用-批量添加工资条表头的VBA代码
  15. POST参数转为DICT
  16. centos7 分辨率修改_centos系统修改屏幕分辨率问题
  17. php难学习吗,学php难吗
  18. 计算机新建怎么没有表格,为什么新建找不到excle:为什么电脑新建项目里没有EXCEL表格?...
  19. 计算机电源常见的认证有哪些,看清电源的各种认证
  20. 什么是响应式设计?响应式设计的基本原理是什么?如何做

热门文章

  1. java 正则 浮点数_浮点数的正则表达式
  2. CSS实现button按钮的点击效果
  3. 软件测试02:软件测试的定义和目的
  4. 算法学习——双指针,BFS,图论
  5. 编程语言王国的唯一王者
  6. 火山视窗树形框实现取所有根项目文本
  7. 存放素数数组JAVA_java – 返回素数数组
  8. [附源码]java毕业设计音乐网站
  9. 共享 || 那些不可错过的Axure元件库
  10. 高速公路智能报警预警系统的应用