2020-11-29

练习7-9 计算天数 (15分)

本题要求编写程序计算某年某月某日是该年中的第几天。

输入格式:

输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式:

在一行输出日期是该年中的第几天。

输入样例1:

2009/03/02

输出样例1:

61

输入样例2:

2000/03/02

输出样例2:

62
#include<stdio.h>
int main()
{
    int days1[]={31,28,31,30,31,30,31,31,30,31,30,31};
    int days2[]={31,29,31,30,31,30,31,31,30,31,30,31};
    int year=0,mon=0,day=0;
    int sum=0;
    int i=0;
    scanf("%d/%d/%d",&year,&mon,&day);
    if(year%4==0&&year%100!=0||year%400==0){
        for(i=1;i<mon;i++)
            sum+=days2[i-1];
        sum=sum+day;
    }
    else
    {
        for(i=1;i<mon;i++)
            sum+=days1[i-1];
        sum=sum+day;
    }
    printf("%d\n",sum);
    return 0;
}
///这就是最笨的办法
#include<stdio.h>
#define ONE 28
#define TWO 29
#define TH 30
#define FOUR 31
int main()
{
    int year,mon,day;
    int sum=0;
    scanf("%d/%d/%d",&year,&mon,&day);
    if(year%4==0&&year%100!=0||year%400==0)
    {
        if(mon==1)
            printf("%d",day);
        else if(mon==2)
            printf("%d",day+FOUR);
        else if(mon==3)
            printf("%d",day+FOUR+TWO);
        else if(mon==4)
            printf("%d",day+FOUR+TWO+FOUR);
        else if(mon==5)
            printf("%d",day+FOUR+TWO+FOUR+TH);
        else if(mon==6)
            printf("%d",day+FOUR+TWO+FOUR+TH+FOUR+TH);
             else if(mon==7)
                 printf("%d",day+FOUR+TWO+FOUR+TH+FOUR+TH+FOUR);
                  else if(mon==8)
                      printf("%d",day+FOUR+TWO+FOUR+TH+FOUR+TH+FOUR+FOUR);
                       else if(mon==9)
                           printf("%d",day+FOUR+TWO+FOUR+TH+FOUR+TH+FOUR+FOUR+TH);
                            else if(mon==10)
                                printf("%d",day+FOUR+TWO+FOUR+TH+FOUR+TH+FOUR+FOUR+TH+FOUR);
                                 else if(mon==11)
                                     printf("%d",day+FOUR+TWO+FOUR+TH+FOUR+TH+FOUR+FOUR+TH+FOUR+TH);
                                      else 
                                          printf("%d",day+FOUR+TWO+FOUR+TH+FOUR+TH+FOUR+FOUR+TH+FOUR+TH+FOUR);
    }
    else{
         if(mon==1)
            printf("%d",day);
        else if(mon==2)
            printf("%d",day+FOUR);
        else if(mon==3)
            printf("%d",day+FOUR+ONE);
        else if(mon==4)
            printf("%d",day+FOUR+ONE+FOUR);
        else if(mon==5)
            printf("%d",day+FOUR+ONE+FOUR+TH);
        else if(mon==6)
            printf("%d",day+FOUR+ONE+FOUR+TH+FOUR+TH);
             else if(mon==7)
                 printf("%d",day+FOUR+ONE+FOUR+TH+FOUR+TH+FOUR);
                  else if(mon==8)
                      printf("%d",day+FOUR+ONE+FOUR+TH+FOUR+TH+FOUR+FOUR);
                       else if(mon==9)
                           printf("%d",day+FOUR+ONE+FOUR+TH+FOUR+TH+FOUR+FOUR);
                            else if(mon==10)
                                printf("%d",day+FOUR+ONE+FOUR+TH+FOUR+TH+FOUR+FOUR+TH);
                                 else if(mon==11)
                                     printf("%d",day+FOUR+ONE+FOUR+TH+FOUR+TH+FOUR+FOUR+TH+FOUR);
                                      else 
                                          printf("%d",day+FOUR+ONE+FOUR+TH+FOUR+TH+FOUR+FOUR+TH+FOUR+TH);
    }
    return 0;
}

 

 


版权声明:本文为qq_52265726原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。