zoukankan      html  css  js  c++  java
  • 日期计算

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

    输入

    输入三个整数(并且三个整数是合理的,既比如当输入月份的时候应该在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;
    }
  • 相关阅读:
    面向对象三大特性之封装
    基本数据类型和引用数据类型
    面向对象三大特性之继承
    多表连接查询
    MySQL模糊查询
    MySQL数据查询入门
    Matlab 之 find()函数
    Matlab 之 字符串数组查找
    Matlab 之 数据元素访问
    让WIN10输入法变回传统模式
  • 原文地址:https://www.cnblogs.com/Lazy-Cat/p/9838381.html
Copyright © 2011-2022 走看看