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

【输入某年某日,判断这是这一年的第几天】

for语句和switch语句分别实现

文章目录

前言

一、用switch做

二、用for循环做

​编辑

总结


前言

用两种不同的方法求解【输入某年某日,判断这是这一年的第几天】


一、用switch做

代码如下(示例):

int main()
{
	int y, m, d, count, k;
	scanf("%d %d %d", &y, &m, &d);
	if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
		k = 1;
	else k = 0;
	count = d;
	switch (m - 1)
	{
	case 11:count = count + 30;
	case 10:count = count + 31;
	case 9:count = count + 30;
	case 8:count = count + 31;
	case 7:count = count + 31;
	case 6:count = count + 30;
	case 5:count = count + 31;
	case 4:count = count + 30;
	case 3:count = count + 31;
	case 2:count = count + 28+k;
	case 1:count = count + 31;
	}
	printf("%d年%d月%d日是%d年的第%d天", y, m, d, y, count);
	return 0;
}

该处不能把count=d放在switch里面,switch语句执行时会先匹配case,若放在switch语句里面,会报错,出现未初始化变量count


如下代码及运行结果:

二、用for循环做

代码如下(示例):

int main()
{
	int i,y, m, d, countday, k;
	int mouth[12] = { 0,31,28,31,30,31,30,31,31,30,31,30 };
	scanf("%d %d %d", &y, &m, &d);
	if ((y % 4 == 0 & y % 10 != 0) || y % 400 == 0)
		k = 1;
	else k = 0;
	mouth[2] = mouth[2] + k;
	countday = d;
	for (i = 1; i < m; i++)
		countday = countday + mouth[i];
	printf("%d年%d月%d日是%d年的第%d天", y, m, d, y, countday);
	return 0;
}

如下代码及运行结果: 


总结

http://www.dtcms.com/a/107642.html

相关文章:

  • 中小企业商标管理新选择:启服云。
  • Conmon lisp Demo
  • 如何在服务器里备份文件或系统
  • 基于NebulaGraph构建省市区乡镇街道知识图谱(二)
  • Bugku-眼见非实
  • 5.模型训练-毕设篇
  • HTML5手写签名板项目实战教程
  • linux -- php 扩展之xlswriter
  • DAY46 动态规划Ⅸ 股票问题Ⅱ
  • 机构数据服务
  • 搜索工具Everything下载安装使用教程(附安装包)
  • 网络安全的挑战与防护策略
  • Excel时间类型函数(包括today、date、eomonth、year、month、day、weekday、weeknum、datedif)
  • 大模型-提示词(Prompt)最佳实践
  • 【零基础入门unity游戏开发——2D篇】SpriteEditor图片编辑器
  • Unity 渲染流水线
  • 什么是编译和反编译
  • 【Python】Python 环境 + Pycharm 编译器 官网免费下载安装(图文教程,新手安装,Windows 10 系统)
  • 智能矢量化(地质类栅格图像)
  • python实战案例:销售数据BI动态分析仪表板
  • 今日行情明日机会——20250402
  • 任务堆积导致 OOM(内存溢出)
  • 08-MySQL InnoDB锁的基本类型
  • 【前端】电脑初始安装软件工具
  • 【Linux】内核驱动学习笔记(一)
  • 【论文笔记】DeepSeek-R1 技术报告
  • java虚拟机---JVM
  • python实战案例:财务凭证数据分析和生成报告
  • .net 6 + vue3中使用SignaIR实现双向通信功能
  • 界面架构 - MVVM (Qt)