• 日期计算


    定义一个结构体变量(包括年、月、日),编程序,要求输入年月日,计算并输出该日
    在本年中第几天。注意本题一定要定义结构体变量,否则本实验成绩无效。

    输入

    输入三个整数(并且三个整数是合理的,既比如当输入月份的时候应该在1 至12 之间,
    不应该超过这个范围)否则输出Input error!

    输出

    输出一个整数.既输入的日期是本月的第几天。

    样例输入

    1985 1 20
    2006 3 12

    样例输出

    20
    71
    #include<stdio.h>
    #define MAX 20
    struct time{
        int year;
        int month;
        int day;
    };
    int rn(int);
    int main(){
        struct time tim;
        int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};
        int rdays[12]={31,29,31,30,31,30,31,31,30,31,30,31};
        while(scanf("%d%d%d",&tim.year,&tim.month,&tim.day)!=EOF){
            int sum=0,i;
            if(rn(tim.year)){
                if(tim.day<1||tim.day>rdays[tim.month-1]||tim.month>12||tim.month<1){printf("Input error!
    ");continue;}
                else{
                    for(i=0;i<tim.month-1;i++){
                        sum+=rdays[i];
                    }
                    sum+=tim.day;
                }
            }
            else{
                if(tim.day<1||tim.day>days[tim.month-1]||tim.month>12||tim.month<1){printf("Input error!
    ");continue;}
                else{
                    for(i=0;i<tim.month-1;i++){
                        sum+=days[i];
                    }
                    sum+=tim.day;
                }
            }
            printf("%d
    ",sum);
        }
        return 0;
    }
    int rn(int year){
        if((year%4==0&&year%100!=0)||year%400==0)   return 1;
        else return 0;
    }
  • 相关阅读:
    常见的四种文本自动分词详解及IK Analyze的代码实现
    用java语言通过POI实现word文档的按标题提取
    spark的运行模式
    团队冲刺日志2
    简单之美-软件开发实践者的思考 03
    简单之美-软件开发实践者的思考 02
    简单之美-软件开发实践者的思考 01
    学习进度 15
    构建之法 06
    构建之法 05
  • 原文地址:https://www.cnblogs.com/Lazy-Cat/p/9838381.html
Copyright © 2020-2023  润新知