C打印年历,体会一下模块化(分治)和逐步优化思维
打印年历是一个很好的将较复杂的问题进行分解(分治)的小实例。
可以较好地体会一下问题分解和程序模块化的思维。
问题的关键在于示出某年某月的1号是星期几。#include #include #include bool leapYear(int year) { return year%4==0 && year%100!=0 || year % 400 == 0; } int daysMonth(int year,int month) // 某年某月有多少天 { int monthwday[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; if(month==2) if(leapYear(year)) return 29; else return 28; else return monthwday[month]; } int weekn(int y,int m) // 某年某月1号是星期几 { int i,wday = 1; for(i=1900;itm_year); int year; while(year != 0) { printf(" 打印月历,请输入年份:"); scanf("%d",&year); printYear(year); } return 0; }
其中两个函数可以优化一下:int daysMonth(int year,int month) // 某年某月有多少天 { int days; switch(month) { case 1:case 3: case 5: case 7: case 8: case 10: case 12: days = 31;break; case 4: case 6: case 9: case 11: days = 30;break; case 2: if(leapYear(year)) days = 29; else days = 28; break; default: days = 0; } return days; } int weekn(int y,int m) // 某年某月1号是星期几 { // 公元1年1月1日为星期1,365%7=1 int wday = (y + (y-1)/400 + (y-1)/4 - (y-1)/100)%7; for(int i=1;i
为什么阿里可以频繁的架构调整?(附CEO张勇公开信)11月26日,阿里巴巴集团CEO张勇一纸公开信打破周一市场的平静。阿里巴巴宣布组织架构调整,技术电商等多个核心业务高层变更阿里几乎每一年都会发起一次不小规模的组织架构调整,特别最近
今年秋季MacBookPro将迎来六大变化新款MacBookPro有望让Apple的旗舰笔记本电脑焕然一新,并为未来的发布奠定基础。让我们来看看我们可以在下一代MacBookPro中看到什么,以及这些新功能将如何将笔记本电
苹果电脑怎么查保修期查询?我相信很多朋友刚拥有Mac计算机或笔记本时,不知道自己机器的保修查询方法。macw小编现给大家带来了这个小入门技巧,请跟随小编观看此教程!我们可以到苹果的官方查询网输入序列号,即可
围观中,新的AppleWatch显示屏尺寸和外观早些时候,有媒体报道了即将发布的苹果手表系列7的新细节,包括更大的屏幕尺寸。此前,人们对下一代AppleWatch知之甚少,只知道它显然采用了让人想起iPhone12和iPadPr
如何彻底卸载不需要的Mac屏保想知道怎么删除Mac电脑屏保吗?该怎么删除不喜欢的屏保呢?可能很多新接触mac电脑的小伙伴不是很熟悉,本次小编为您带来几种彻底卸载Mac屏保的方法,想知道的小伙伴千万不要错过哦!欢
MacOS系统无法连接5gwifi的解决办法,你确定不来看看吗?MBP突然连不上5GWifi,但是用Wifi却可以,用手机平板使用5GWIFI一切正常,是什么问题呢?重启路由器重启电脑路由器刷机路由器恢复出厂设置,一番折腾下来,费时又费力,终于
Mac新手必看,这些设置可以让你的Mac更好用如果你刚买了一台新的Mac,不免要对Mac做一些设置,现为你提供一些Mac常用的设置技巧,让你的Mac更加好用。访达设置访达是我们在使用Mac时最常用的应用了,每次打开访达窗口,会
解锁Mac上自带的计算机的隐藏功能不要小看macOs的计算器App只要点按几下,你就能发现它简洁外表下潜藏着的强大功能。轻松转换想在人民币与美元公里与英里之间转换?只要输入一个数值,再在转换菜单中选择单位类别(面积
iphone13价格官网报价已有,快看是否超出预算目前距离Apple预计揭开新款iPhone13的面纱只有几周的时间,自然而然,越来越多的信息通过非官方渠道成为头条新闻。这一次,轮到iPhone13的价格上网了,因为一份报告显示了
新款MacBook带TouchBar如何开机和强制关机新款的MacBook前排的物理按键换成了TouchBar,虽然整体上没太大的变化,但是!但是!如果没有启动,连屏幕都显示不了啊,那怎么开机呢?开启Mac(开机)开启带有TouchB
如何在MacOSMonterey中使用实时文本在2021年6月的WWDC上,Apple在MacOSMonterey中宣布了一项名为LiveText的简洁新功能。这使您可以突出显示任何照片中的文本并以多种方式使用它。您可以复制和