zoukankan      html  css  js  c++  java
  • 两个日期相差天数

    Markdown在线编辑器 - www.MdEditor.com

    3 两个日期相差天数 (100分)

    现在有两个不同的日期,你能告诉我它们之间差几天吗?

    输入格式:输入格式:

    有多行数据,每行数据包含6个数字,中间用空格分隔,每3个数字代表一个日期。

    输出格式:

    对应于输入数据,输出数据有相同的行数,每行表示对应的两个日期相差的天数。

    输入样例:

    1934 2 4 2047 11 30
    2192 10 3 1921 5 8

    输出样例:

    -41572
    99130

    Accepted

    #include<stdio.h>
    int js(int y,int m,int d){
    	int sum=d,i;
    	for(i=1;i<m;i++){
    		if((y%4==0&&y%100!=0)||y%400==0){
    		switch(i){
    			case 2: sum+=29;break;
    			case 4: case 6: case 9: case 11:sum+=30;break;
    			default: sum+=31;
    		}
    	}
    	else{
    		switch(i){
    			case 2: sum+=28;break;
    			case 4: case 6: case 9: case 11:sum+=30;break;
    			default: sum+=31;
    		}
    	}	
    	}
    	return sum;
    }
    int main(){
    	int y1,m1,d1,y2,m2,d2;
    	while(scanf("%d%d%d%d%d%d",&y1,&m1,&d1,&y2,&m2,&d2)!=EOF){
    		int a,b,c,sum=0,i,j,sum1=0,sum2=0;
    		a=y1-y2;
    		if(a<0){
    			for(i=y1;i<y2;i++){
    				if((i%4==0&&i%100!=0)||i%400==0){
    					sum+=366;
    				}
    				else sum+=365;
    			}
    			sum=sum*(-1);
    		}
    		if(a>0){
    			for(i=y2;i<y1;i++){
    				if((i%4==0&&i%100!=0)||i%400==0){
    					sum+=366;
    				}
    				else sum+=365;
    			}
    		}
    		sum1=js(y1,m1,d1);
    		sum2=js(y2,m2,d2);
    		printf("%d
    ",sum-sum2+sum1);
    	}
    	return 0;
    }
    
  • 相关阅读:
    总结第一、二类斯特林数(模板)
    总结组合数的几种求法(模板)
    HDU5521 Meeting(dijkstra+巧妙建图)
    BZOJ4152 The Captain(dijkstra+巧妙建图)
    CF1194D 1-2-K Game (博弈论)
    JavaScript字符串的操作
    JavaScript基础–闭包
    JavsScript基础–声明提升
    JavaScript基础–作用域
    css基础(一)
  • 原文地址:https://www.cnblogs.com/czl411/p/12607457.html
Copyright © 2011-2022 走看看