輸入某年某月某日,判斷這一天是這一年的第幾天?


程序分析:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大於3時需考慮多加一天。 

#include<stdio.h>

int main()

{   

      int i,j,k      printf("請輸入三個數分別代表某年某月某日:\n"scanf("%d%d%d",&i,&j,&k);if(((i%4==0)&&!(i%100==0))||(i%400==0){

switch(j)
{
case 1:printf("這一天是這一年的第%d天",k);break;
case 2:printf("這一天是這一年的第%d天",31+k);break;
case 3:printf("這一天是這一年的第%d天",31+29+k);break;
case 4:printf("這一天是這一年的第%d天",31+29+31+k);break;
case 5:printf("這一天是這一年的第%d天",31+29+31+30+k);break;
case 6:printf("這一天是這一年的第%d天",31+29+31+30+31+k);break;
case 7:printf("這一天是這一年的第%d天",31+29+31+30+31+30+k);break;
case 8:printf("這一天是這一年的第%d天",31+29+31+30+31+30+31+k);break;
case 9:printf("這一天是這一年的第%d天",31+29+31+30+31+30+31+k+31);break;
case 10:printf("這一天是這一年的第%d天",31+29+31+30+31+30+31+k+31+30);break;
case 11:printf("這一天是這一年的第%d天",31+29+31+30+31+30+31+k+31+30+31);break;
case 12:printf("這一天是這一年的第%d天",31+29+31+30+31+30+31+k+31+30+31+30);break;
default:printf("error\n");
else

{
switch(j)
{
case 1:printf("這一天是這一年的第%d天",k);break;
case 2:printf("這一天是這一年的第%d天",31+k);break;
case 3:printf("這一天是這一年的第%d天",31+28+k);break;
case 4:printf("這一天是這一年的第%d天",31+28+31+k);break;
case 5:printf("這一天是這一年的第%d天",31+28+31+30+k);break;
case 6:printf("這一天是這一年的第%d天",31+28+31+30+31+k);break;
case 7:printf("這一天是這一年的第%d天",31+28+31+30+31+30+k);break;
case 8:printf("這一天是這一年的第%d天",31+28+31+30+31+30+31+k);break;
case 9:printf("這一天是這一年的第%d天",31+28+31+30+31+30+31+k+31);break;
case 10:printf("這一天是這一年的第%d天",31+28+31+30+31+30+31+k+31+30);break;
case 11:printf("這一天是這一年的第%d天",31+28+31+30+31+30+31+k+31+30+31);break;
case 12:printf("這一天是這一年的第%d天",31+28+31+30+31+30+31+k+31+30+31+30);break;
default:printf("error\n");

}
}
return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM