李洋疯狂C语言之编程实现统计某年某月份的天数
今天的题目:编程实现统计某年某月的天数
例如: 输入:2017.7
输出:31天
先附上我自己想的方法,由于几个功能放一起太繁琐,于是我想把他们分为三个函数,分别来实现这个功能:
#include <stdio.h>void runnian(int* year, int* leap); //函数声明
void print(int month); //函数声明int main()
{int year, month, leap;scanf ("%d.%d", &year, &month);//输入年月runnian(&year, &leap);//判断是否是闰年if (2 != month) //判断是否是 2 月,不是则正常输出print(month); //分 30 天和 31 天输出else //如果是 2 月{if(1 == leap) //闰年 29 天printf ("29天");else //非闰年 28 天printf ("28天");}return 0;
}void runnian(int* year, int* leap) //判断是否是闰年
{if (0 == *year % 4) //判断能否被4整除{if (0 == *year % 100) //判断能否被100整除{if (0 == *year % 400) //判断能否被400整除*leap = 1; // leap = 1 为闰年else *leap = 0; // leap = 0 不是闰年}else *leap = 1;}else *leap = 0;
}void print(int month) //根据月份输出天数
{switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf ("31天");break;case 4:case 6:case 9:case 11:printf ("30天");break;default:printf ("不存在的");}}
但是后来看到一个简单的方法,可以用‘与或’来代替‘ if ’语句(即判断闰年的函数),这样多行的代码就可以缩略为一行代码,整个函数就更清爽,附上代码:
#include <stdio.h>int main()
{int year;int month;printf ("请输入");scanf ("%d.%d", &year, &month); //利用scanf输入吃掉输入时的 '.' switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf ("31天");break;case 4:case 6:case 9:case 11:printf ("30天");break;case 2:if (0 == year%4 && 0 != year%100|| 0 == year%400)printf ("29天");elseprintf ("28天");break;default:printf ("不存在的");}return 0;
}
李洋疯狂C语言之编程实现统计某年某月份的天数相关推荐
- 强化练习2:编程实现统计某年某月份的天数
口诀: 一三五七八十腊(1,3,5,7,8,10,12),31天永不差, 平年二月28,闰年二月29,其他月份三十天. 程序如下: #include <stdio.h>int main() ...
- 李洋疯狂C语言之求素数的方法
今天课上李洋老师讲到求素数时,讲了一种新的方法,一开始听得我一脸懵逼,但当我理解的时候,眼前一亮,老师的算法省去了不少步骤,话不多说,附上题目:求100到200之间的素数. 输入:无 计算: 求素数 ...
- 李洋疯狂C语言之合法帧
题目: 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来. 提示:帧头和帧尾分别是head和tail 字符串"asdheadhauboisoktail&qu ...
- 李洋疯狂C语言之用递归解决李白喝酒问题(二)
之前用递归求出了多少种情况,如果要打印出所有的结果,就需要一个数组来存放可能的情况: /****************************************************** 题 ...
- 李洋疯狂C语言之用递归解决李白喝酒问题(附填空题解法)
这是14年蓝桥杯的一道填空题 题目:"李白街上走,提壶去买酒,遇店加一倍,见花喝一斗", 途中,遇见5次店,见了10此花,壶中原有2斗酒,最后刚好喝 完酒,要求最后遇见的是花,求可 ...
- 李洋疯狂C语言之有关“you are come from shanghai”逆序(二)
今天将指针和函数全部学完了,之前这题的做法,现在看来有点繁琐,于是乎做了一些修改,下面是新的代码 //you are from shanghai逆序#include <stdio.h> # ...
- 李洋疯狂C语言之将”you are come from shanghai ”倒置为”shanghai from come are you”,将句子中的单词位置倒置,而不改变单词内部结构
题目: 编写一个C函数,将"you are come from shanghai "倒置为"shanghai from come are you",及将句子中的 ...
- 李洋疯狂C语言之n个人报数,报到3的退出,最后留在场上的是原来的第几位(约瑟夫环)
今天老师布置了个题目,约瑟夫环,俗称猴子选大王.n个人报数,报到3的退出,最后留在场上的时原来的第几位 #include <stdio.h>int main() {int i, n, q, ...
- 李洋疯狂C语言之break和continue的区别
1.break (1) 只能在循环体内和switch语句体内使用break语句. (2) 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体. (3) 当break ...
最新文章
- H264 NALU 使用PS封装 RTP发送
- 华为怎么安装服务器系统版本,服务器怎么安装操作系统版本
- React开发(111):写注释的方法
- linux课堂笔记(3)
- js 把线性的数据结构改成树形结构
- 算法工程师面试备战笔记2_一个完整机器学习项目的流程
- PHP 使用session实现购物车效果(点击按钮添加数据,根据数据生成列表,删除选中的商品,点击按钮时计算金额)
- android listview item字体,改变listview中item选中时文字的颜色
- SXF-2021软测实习生笔试
- 计算机游戏屏幕中,电脑屏幕上的游戏怎么录制
- 针对m3u8视频加密的一些尝试
- 烤仔TVのCCW丨存储押金代付
- ARTS-第-22-期
- Kibana:改善地理位置数据摄入 - 7.10
- 江苏大学的计算机,毛启容-江苏大学计算机科学与通信工程学院
- 2021-11-12每日刷题打卡
- 去掉设备和驱动器的百度网盘
- java面向对象的程序编程设计
- MPEG4和DivX的问题解答荟萃
- 子豪兄-YOLOv3
热门文章
- vue mysql webapp_基于Laravel+VueJS实战开发WebAPP
- vla点转为lisp点_A股大涨53.70点,收复3400点,下周会继续大反弹吗?
- wx轮播图接口学习用json格式_零基础学小程序008----列表和轮播图的实现,小程序解析json数据...
- Java0steam_Java学习 - Stream 使用
- 面试题之实现1分2分5分组成2角问题
- Android入门(一) | Android Studio的配置与使用
- 表示数值的字符串(有限状态自动机与搜索)
- Shell脚本自动监控docker容器的状态
- rabbitmq技术的一些感悟(二)
- 算法(17)-leetcode-剑指offer1