當前位置:編程學習大全網 - 編程軟體 - C語言編程:輸入某年某月某日判斷這壹天是壹年的第幾天的程序是是什麽?

C語言編程:輸入某年某月某日判斷這壹天是壹年的第幾天的程序是是什麽?

#include <stdio.h>

//返回指定年月日是對應年度的第幾天

int getDays(int month,int day);

int isRunnian(int year);

int main(int argc,char* argv[])

{

int year=0;

int month=0;

int day=0;

printf("請輸入年月日格式示例20140101\n");

scanf("%4d%2d%2d",&year,&month,&day);

//簡化後的條件,是閏年且月份大於二,則返回天數加壹,否則直接返回函數值

int days = getDays(month,day);

if (days==0){

printf("您輸入的日期格式無效。\n");

return 0;

}

if (isRunnian(year) && month >2){

printf("輸入日期是對應年份的第%d天",days+1);

}else{

printf("輸入日期是對應年份的第%d天",days);

}

return 0;

}

//循環實現

int getDays(int month,int day){

int NUMBER[12]={31,28,31,30,31,30,31,31,30,31,30,31};

int result=day;

if (month >12){ //避免出現數組越界情況

return 0;

}

for (int i=0;i< month-1;i++){//數組下標是從零開始

result+= NUMBER[i];

}

return result;

}

int isRunnian(int year){

//閏年的條件

//壹:年度是400的整數倍,則是閏年

//二:年度能被4整除且不能被100整除

return year%4 ==0 && year%100 !=0 || year%400 ==0;

}

  • 上一篇:用matlab畫常微分方程圖
  • 下一篇:裏程表怎麽調
  • copyright 2024編程學習大全網