C语言实现“输入年月求对应月份天数”
C语言实现“输入年月求对应月份天数”
C语言实现“输入年月求对应月份天数”
一、运行截图
二、源代码
一、运行截图
二、源代码
#include
main()
{
int x, y, a, b, c;
printf("请你输入任意一年的年份(年):\t");
scanf("%d", &x);
printf("请输入任意一个月份数(月):\t");
scanf("%d", &y);
a = x % 4, b = x % 100, c = x % 400;
switch (y)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("%d年%d月的天数为(天):\t31天\n", x, y);
break;
case 4:
case 6:
case 9:
case 11:
printf("%d年%d月的天数为(天):\t30天\n", x, y);
break;
default:
if (a == 0)
{
if (b != 0)
printf("%d年%d月的天数为(天):\t29天\n", x, y);
else if (b == 0 && c == 0)
printf("%d年%d月的天数为(天):\t29天\n", x, y);
}
else printf("%d年%d月的天数为(天):\t28天\n", x, y);
};
}
//优化后:
#include
int f(x, y)
{
if (y == 1 || y == 3 || y == 5 || y == 7 || y == 8 || y == 10 || y == 12)
return(31);
else if (y == 2)
{
if (x % 4 == 0 && x%100 != 100)
return (29);
if (x % 100 == 0 && x %400== 400)
return(29);
else
return(28);
}
else
return(30);
}//定义函数体
main()
{
int x, y;
printf("请你输入任意一个日期(格式:年,月):\t");
scanf("%d,%d", &x, &y);
printf("%d年%d月有%d天\n", x, y, f(x, y));
}
//代码再次优化:
#include
int NF(float x, float y);//函数声明(函数原型)
int main()
{
float x, y;//不定义整形是为了程序的健壮性考虑(消除安全隐患)
printf("请输入要查询的年份和月份(空格间隔):");
scanf("%f%f", &x, &y);
if ((int)(x) == x && (int)(y) == y)//检验输入的日期是否合法
{
printf("%g年%g月有:%d天", x, y, NF(x, y));
}
else
printf("你输入的日期至少有一个不合法!!!");
}
int NF(float a, float b)//定义函数(为了保证形参类型一致只能定义浮点型)
{
int x, y;
x = a, y = b;//由于浮点数不能做求余运算所以进行数据类型转换
if (y == 1 || y == 3 || y == 5 || y == 7 || y == 8 || y == 10 || y == 12)
return 31;
else if (y == 4 || y == 6 || y == 9 || y == 11)
return 30;
else if (y == 2)
{
if ((x % 4 == 0 && x % 100 != 0) || (x % 100 == 0 && x % 400 == 0))//注:能被100整除必可被4整除
return 29;
else
return 28;
}
}
C语言实现“输入年月求对应月份天数”相关教程
通过Postman实现压力测试
通过Postman实现压力测试 通过Postman实现压力测试 前言 步骤 建立分组 编写脚本 配置参数 执行 前言 基于联调测试中存在相关接口的并发访问,会导致接口性能急速降低。为方便定位问题以及后序建立相关测试方案。需要开发相关并发测试的用例。 方案1、通过代
C语言入门——输出Hello,world
C语言入门——输出Hello,world 目录 写在前面的话 一、C语言是什么? 1.输出Hello,world 小结 写在前面的话 随着人工智能的不断发展,编程这门技术也越来越重要,很多人都开启了编程学习,本文就介绍了编程学习的基础内容。 C语言是一门通用计算机编程语言,
【拓展】SVG实现环形进度条的原理
【拓展】SVG实现环形进度条的原理 之前在项目中遇到一个环形进度条的需求,要求能实时更新进度,脑海中瞬间便蹦出css,svg,canvas3中方案,对于3种方案个人更偏向于svg,用法简单,代码量也很少,同时也便于实时控制。具体效果如下图: 代码非常简单: svg w
html实现聚集爱心
html实现聚集爱心 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//ENHTML HEAD TITLE New Document /TITLE META NAME=Generator CONTENT=EditPlus META NAME=Author CONTENT= META NAME=Keywords CONTENT= META NAME=Description CONTENT= style .
python9行代码实现字母金字塔
python9行代码实现字母金字塔 代码: count = eval(input(请输入要打印的层数:))for i in range(int(count)): for j in range(count-i): print( ,end=) for k in range(i): print(chr(65+i-k),end=) for l in range(i+1): print(chr(65+l),end=) print() 运行
关于Java通过反射实现交换两个数的值的解决与存在的一些问题
关于Java通过反射实现交换两个数的值的解决与存在的一些问题 关于Java通过反射实现交换两个数的值的解决与存在的一些问题 标签(空格分隔): 未分类 从网上找了很长时间相关的文章,绝大多数都是在参数另外加上一个数组,从而实现,但我总感觉有点离谱-_-...
优先函数c代码实现
优先函数c代码实现 原地址 编译原理之求算符优先函数的方法—迭代法 此博文包含图片 (2011-04-26 22:55:38)转载▼ 标签: 编译原理 算符优先函数 迭代法 教育 分类: IT乐园 编译原理之求算符优先函数的方法—迭代法 若已知运算符之间的优先关系,可按如下步
PaddlePaddle——基于PaddleDection和opencv在Windows端实现公交
PaddlePaddle——基于PaddleDection和opencv在Windows端实现公交车车牌的检测和具体车牌内容的识别 本项目基于PaddleDetection实现公交车车牌的检测和定位,在识别后使用OPENCV对识别区域的进行图像处理,最后采用PaddleOCR对数字进行具体识别,实现本项目的