#include <stdio.h>
#include <stdlib.h>
//第五題,輸入日期,求時間,追加功能要求:可以判斷輸入日期是否合法
int legal_date(int y,int m,int d);
int days(int y, int m, int d);
int run_year(int year);
int main()
{
int year, month, day;
printf("輸入年 月 日: ");
scanf("%d %d %d", &year, &month, &day);
if(legal_date(year,month,day)==0)
printf("輸入的日期非法!\n");
else
{
printf("這是該年的第 %d 天\n", days(year, month, day));
}
return 0;
}
int run_year(int year)
{
if((year%400==0)||(year%4==0&&year%100!=0))
return 1;
else
return 0;
}
int legal_date(int y,int m,int d)
{
int day;
int r;
switch(m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
break;
case 4:
case 6:
case 9:
case 11:
day=30;
break;
case 2:
{
if(run_year(y)==1)
day=29;
else
day=28;
break;
}
default:
day=d-1;
}
if(day<d)
r=0;
else
r=1;
return r;
}
int days(int y, int m, int d)
{
int date=0;
switch(m)
{
case 12:
date+=30;
case 11:
date+=31;
case 10:
date+=30;
case 9:
date+=31;
case 8:
date+=31;
case 7:
date+=30;
case 6:
date+=31;
case 5:
date+=30;
case 4:
date+=31;
case 3:
{
if(run_year(y)==1)
date+=29;
else
date+=28;
}
case 2:
date+=31;
case 1:
date+=d;
break;
default:
printf("error\n");
}
return date;
}
提高篇2-5課第五題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.