当前位置: 首页 > news >正文

C语言综合练习Day9

练习:用函数打印日历

步骤一:判断年份

平年和闰年的二月份天数不一样,导致总天数不一样。年份能被4整除且不能被100整除,或年份能被400整除都可判断为闰年

int isleapYear(int year) { int ret = 0; if(year%4==0 && year%100!=0 || year%400==0) { ret = 366; //闰年一年有366天 }else { ret = 365; } return ret; }

步骤二:判断每个月份的天数

1 3 5 7 8 10 12月有31天

4 6 9 11 月有30天

2月 平年有28天 闰年有29天

#include<stdio.h> int getMonthDays(int year,int month) { int ret; if(month !=2 && month==4 || month==6 || month==9 || month==11) { ret = 30; } else if(month!=2 && month==1 ||month==3||month==5||month==7||month==8||month==10||m==12) { ret = 31; }else if(month==2 && isleapYear(year) == 366) { ret = 29; }else if(month==2 &&isleapYear(year) == 365) { ret = 28; } return ret; }

步骤三 :

getAllDays函数用于计算从基准年份(1990年)到指定年份和月份之间的总天数,包括闰年和平年的天数累加。

int getAllDays(int year,int month) { int i = 0; int days = 0; for(i = 1990;i<=year;i++) { days = days + isleapYear(i); } for(i = 1;i<month;i++) { days = getMonthDays(i) + days; } return days; }

步骤四:判断输入的年份月份的1号是星期几

调用getAllDays(year, month)计算从某个固定日期(如1970 年 1 月 1 日)到输入的年月 1 日的总天数。使用% 7取模运算,将总天数转换为星期几的索引

int getWeekDay(int year,int month) { int week; week = getAllDays(year,month)%7; return week; }

步骤五:打印函数

void printCal(int year,int month) { printf("%5d%2d\n",year,month); printf("mon tues wed thur fri sut sun\n"); int i; for(i = 0;i<getWeekDay(year,month);i++) { printf(" "); } for(i=0;i<=getMonthDays(year,month);i++) { printf("%2d",i); } }

步骤六:头文件

外部声明打印函数

#ifndef _CAL_H_ #define _CAL_H_ #include<stdio.h> extern void printCal(int year,int Month); #endif

步骤七:添加主函数

#include<stdio.h> #include"work9.h" int main(void) { int year, month; printf("请输入要查询日历的年份和月数:"); scanf("%d %d", &year, &month); printCal(year, month); return 0; }
http://www.jsqmd.com/news/1365737/

相关文章:

  • 2026年用户评价好的跨省救护车机构推荐实用指南 - 起跑123
  • 太原汽车音响老店亲测,2026年汽车音响首推太原唱响 - GrowthUME
  • OpenAI Astra模型被标记最高网络安全风险:AI攻防新时代的挑战与应对
  • 2026毕业论文降重工具避坑横评:学范文等五款实测谁更抗打?
  • 大厂Java面试核心考点与JVM调优实战
  • Unity UGUI粒子特效裁剪:RectMask2D与ParticleEffectForUGUI实战解析
  • 2026钢塑土工格栅首选:华北高性价比厂家深度解析指南 - 思溯深度专栏
  • AI2027核心技术解析:多模态、智能体与边缘AI实战指南
  • 幸福法则的底层逻辑与科学实践
  • Linux系统密码管理与root密码修改全指南
  • 手机Gemini怎么导出文档?AI 导出鸭让表格与批量导出告别“格式灾难”
  • 蓝牙配对(1)just work模式
  • 2026年副业避坑指南:格行随身WiFi代理的客观解读,0成本、不囤货、流量分润真的靠谱吗? - 格行WiFi总部招商
  • ChatGPT、Codex趋势:Codex正在进入ChatGPT工作入口,AI编程为什么不再只是“写代码”?
  • SVG 3D翻转动画实战:从CSS 3D Transform到交互细节优化
  • 暑期摄影大赛线上投票如何设置防刷?云众评选详细设置指南 - 微信投票小程序
  • 3D细胞活力检测技术:从传统方法到三维体系的跨越
  • RVC多模型人声效果实测对比:音色克隆与语音合成的本地部署指南
  • 本地部署AI角色创作工具:从环境配置到批量生成实战指南
  • 三步告别激活烦恼:KMS智能激活工具的终极懒人指南
  • 3步搭建原神私服:KCN-GenshinServer完整指南打造个性化游戏体验
  • C语言:自定义类型:结构体
  • 如何快速掌握Plain Craft Launcher 2:面向Minecraft玩家的终极游戏管家指南
  • 2026 深圳专利代理机构精选|硬科技企业知识产权布局合作伙伴 - GrowthUME
  • Java Map核心原理与性能优化实战指南
  • Kubernetes Pod沙箱创建超时问题诊断与优化
  • 姑苏区五金部件烘干设备厂家推荐、粉末干燥烘干设备厂家哪家好?2026避坑指南:绕开4个坑+5条硬标准 - mobible
  • AI模型评测沙箱安全:从原理到防御的工程实践
  • 3个网盘管理痛点,一个工具彻底解决:百度网盘批量转存全攻略
  • 二阶导数判定极值的几何原理与Manim动画实现