欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

李洋疯狂C语言之编程实现统计某年某月份的天数

发布时间:2023/12/19 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 李洋疯狂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语言之编程实现统计某年某月份的天数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。