用C++计算某年某月某日是那一年的第几天
输入样例
2000 1 22
输出样例
22
#include<iostream>
using namespace std;
int main(){
int y,m,c,days;//y,m,days分别为年,月,日,定义为整型
cin>>y>>m>>c;
days=c;//赋予days=c的初值
switch (m)//使用switch语句避免if语句过于冗长
{
case 12:days+=30;//从12开始避免从1开始时使用break语句造成冗长
case 11:days+=31;
case 10 :days+=30;
case 9 :days+=31;
case 8 :days+=30;
case 7 :days+=31;
case 6:days+=30;
case 5 :days+=31;
case 4:days+=30;
case 3 :days+=31;
if ((y%4==o&&y%100!=0)||y%400==0 ) days++;//先判断y是否是闰年,再执行2月的操作
case 2 :days+=30;
case 1 :days=c;
}
cout<<days;//输出数据
return 0;
}
编译后输入2019 9 19,输出261
本次编码学习的内容
1.使用switch语句代替if语句,switch语句(开关语句)于if语句的不同点是:开关语句通常用于各种分类统计和计算
2.switch语句的模板:
switch(表达式)
{
case<常量表达式1>:语句序列1; break;
case<常量表达式2>语句序列2;break;
.......
default:cout<<语句序列n+1;break;
}