一、题目
从终端输入一个日期 scanf ("% d % d % d "; &year , &mon , &day ),判断这是这一年的第几天
二、知识点
基本结构
switch(变量或表达式)
{
case 常量1:语句块1; break;
case 常量2:语句块2; break;
case 常量3:语句块3; break;
default:语句块n+1; break;
}
执行顺序
判断表达式或变量的值,和case后面的常量进行匹配,如果能够匹配上就执行对应的语句块,遇到break结束switch语句。当case后面常量都不匹配,会执行default后面的语句块。
注意
1.表达式不能是浮点型或字符串
2.case后面的break可以省略,省略时代码会顺序执行,直到遇到break结束
三、代码
//方法1
#include<stdio.h>
int main(int argc, char const *argv[])
{
int year,mon,day,sum=0;
scanf("%d %d %d",&year,&mon,&day);
switch(mon)
{
case 12:sum+=30;
case 11:sum+=31;
case 10:sum+=30;
case 9:sum+=31;
case 8:sum+=31;
case 7:sum+=30;
case