C++的switch與if語句,輸入日期顯示第幾天
阿新 • • 發佈:2021-01-09
請使用switch語句和if…else語句,輸入一個年份,判斷是該年中的第幾天。
分析:聽著好難,咱來分析一下。
天數=月份數+本月的第幾天
例如: 以10月1日為例,應該先把前9個月的天數加起來,然後再加上1天即本年的第幾天。
特殊情況:判斷是否為閏年!
如何判斷每個月有幾天?
不用死記硬背,
有口訣。
一三五七八十臘,三十一天永不差
什麼意思?
1、3、5、7、8、10、12永遠是31天
2月平年是28天,閏年是29天。
好啦。
程式碼伺候:
#include <stdio.h>
int main()
{
int year;
int month;
int day;
int sum;
printf("請輸入年月日(中間用空格隔開),將自動生成是該年中的第幾天:");
scanf("%d %d %d",&year,&month,&day);
switch(month){
case 1:
sum=0;//第一個月無需加前面的月份,因為1月是老大
break;
case 2:
sum=31;
break;
case 3:
sum= 59;
break;
case 4:
sum=90;
break;
case 5:
sum=120;
break;
case 6:
sum=151;
break;
case 7:
sum=181;
break;
case 8:
sum=212;
break;
case 9:
sum=243;
break;
case 10:
sum=273;
break;
case 11:
sum=304;
break;
case 12:
sum=334;
break;
default :
printf("%s\n","您輸入的月份不合理!");
break;
}
sum+=day;
if(((year%4==0&&year%400!=0)||(year%400==0))&&month>2)
{
sum++;
printf("%d年%d月%d日是該年的第%d天\n",year,month,day,sum);
}
else
{
printf("%d年%d月%d日是該年的第%d天\n",year,month,day,sum);
}
return 0;
}
祝看到此文章的有情人終成眷屬!
今天的switch-if語句到此結束,明天依舊光芒萬丈啊!
“如果一切到最後沒有變好,就說明還沒有到最後”
程式碼如此,人生亦是如此。
新的一年,各位加油!