1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > C语言基础实例应用—用Switch语句计算今天为这一年的第几天

C语言基础实例应用—用Switch语句计算今天为这一年的第几天

时间:2019-02-11 13:14:56

相关推荐

C语言基础实例应用—用Switch语句计算今天为这一年的第几天

计算今天为今年的第几天(Switch实现)

输入三个数分别代表年、月、日,然后输出这一天为今年的第几天:

1. 算法思想

switch语句有一个典型的属性就是当不加break语句的时候它会一直执行下去,正是利用这一点编写下边的算法。

2.代码部分

#include<stdio.h>int main(){int day, month, year, num = 0;scanf_s("%d%d%d", &year, &month, &day);switch (month) {case 12:num += 30;case 11:num += 31;case 10:num += 30;case 9:num += 31;case 8:num += 31;case 7:num += 30;case 6:num += 31;case 5:num += 30;case 4:num += 31;case 3:num += 28;case 2:num += 31; //一月份加0天case 0:num += day;break;}if (((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) && (month > 2))//判断是不是闰年num++;printf("这一天是这一年的第%d天", num);return 0;}

3.运行结果

4.代码分析

(1) 月份大小在case中要倒着放置,因为case语句执行的时候从上往下计算;

(2) case 5并不是意味着后边加得数也是5月份的天数,而是4月份的天数;

(3) 没有case 1 是因为一月份直接加day就行了,没有case 12是因为直接用前边11个月的天数加day就行了;

(4) 要判断是不是闰年,是的话需要在day上再加1;

希望能帮助你撒。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。