//選擇結構流程
#include"stdio.h" /*編譯預處理命令*/
void main() /*main函數*/
{
int iy,im,id; /*定義整型變量*/
printf("請輸入年月日:");/*輸出提示信息*/
scanf("%d%d%d",&iy,&im,&id);/*從鍵盤輸入三個數*/
if(iy%400==0||(iy%4==0&&iy%100!=0))/*判斷是否閏年*/
id=id+1; /*閏年+1*/
switch(im) /*判斷的目標*/
{
case 1: /*是否匹配*/
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id);break;
case 2:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31);break;
case 3:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28);break;
case 4:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31);break;
case 5:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30);break;
case 6:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31);break;
case 7:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30);break;
case 8:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30+31);break;
case 9:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30+31+31);break;
case 10:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30+31+31+30);break;
case 11:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30+31+31+30+31);break;
case 12:
printf("%d年%d月%d日是%d年第%d天",iy,im,id,iy,id+31+28+31+30+31+30+31+31+30+31+30);break;
}
getch();
}
//一開始用的是else if,結果發現和第一個if有矛盾。然後換switch發現有問題,發現是
//沒有加getch()。如果書上沒有類似的題目,我也不曉得怎麼查找問題啊。下面的註釋代碼太長就不寫了。
//反正就是一三五七八十臘31天永不差。