c语言程序月份,C语言实现“输入年月求对应月份天数”

C语言实现“输入年月求对应月份天数”

C语言实现“输入年月求对应月份天数”

C语言实现“输入年月求对应月份天数”

一、运行截图

二、源代码

一、运行截图

c语言程序月份,C语言实现“输入年月求对应月份天数”_第1张图片

二、源代码

#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对数字进行具体识别,实现本项目的

你可能感兴趣的:(c语言程序月份)