第几天?【HDOJ2005 】

这道题要是用c特别好做,但是用java还要知道split才能做出来,也是坑的一匹!

Java版

import java.util.Scanner;
public class hdu2005 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int a,b,c,sum;
		int aa[]={31,28,31,30,31,30,31,31,30,31,30,31};
		while(in.hasNext()){
	    String s=in.next();
	    String array[]=s.split("/");
	     a=Integer.parseInt(array[0]);
	     b=Integer.parseInt(array[1]);
	     c=Integer.parseInt(array[2]);
	     sum=0;
	    if(b>2&&(a%4==0&&a%100!=0)||a%400==0)
	    	sum+=1;
	   
		if(b==1) 
			 System.out.println(c);
		else{ 
	       for(int i=b-2;i>=0;i--)
	    	  sum+=aa[i];
	      System.out.println(c+sum);
		   }
		}
in.close();
	}

}

C++版

#include<cstdio>
int main(){
    int y,m,d;
    int a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
    int b[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    while(~scanf("%d/%d/%d",&y,&m,&d)){
        int sum=0;
    
    if((y%4==0&&y%100!=0)||y%400 == 0)  //run nian
          {
              for(int i = 1;i < m;i++){
                sum += a[i];
            }
              
            }
    else {
        for(int i = 1;i < m;i++){
                sum += b[i];
    }
            
    }
        printf("%d\n",sum+d);
      }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值