有位報名跟我學編程的同學,問我如何實現:“用戶輸入任何一個日期,程序能算出是當年的第幾天”,我把代碼貼出來,供大家參考,報名請諮詢Q:3402745814
#include
//判斷輸入年份是否是閏年
bool isRunNian(int year)
{
int a = year % 4;
int b = year % 400;
int c = year % 100;
bool ok = false;
if(a==0 && c!=0) // 能被4整除並且不被100整除,是閏年
{
ok = true;
}
if(b==0) //能被400整除,是閏年
{
ok = true;
}
return ok;
}
int main()
{
int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //每個月份的天數
int y = 0;
int m = 0;
int d = 0;
printf("輸入年月日:\n");
scanf_s("%d %d %d", &y, &m, &d);
if(y<0)
{
printf("年輸入錯誤\n");
getchar();
getchar();
return 0;
}
if(m<0 || m>12)
{
printf("月輸入錯誤\n");
getchar();
getchar();
return 0;
}
bool ok = isRunNian(y);
if(ok)
{
days[1] = 29; //閏年,2月份是29天
}
if(d<0 || d>days[m-1])
{
printf("日輸入錯誤\n");
getchar();
getchar();
return 0;
}
int total = 0;
for(int i=0; i { total += days[i]; } total += d; printf("是一年中的第:%d 天\n", total); getchar(); getchar(); return 1; }
閱讀更多 程序員孫國兵 的文章