1 条题解

  • 0
    @ 2025-4-12 22:03:04

    C :

    #include<stdio.h>
    int main()
    {
    	int year,month,day;
    	scanf("%04d-%02d-%02d",&year,&month,&day);
    	switch(month)
    	{
    	case 1:
    	case 3:
    	case 5:
    	case 7:
    	case 8:
    	case 10:
    		{
    			if(day==31)
    			    month++,day=1;
    		    else
    			    day++;
    		}
    		break;
    	case 4:
    	case 6:
    	case 9:
    		{
    			if(day==30)
    				month++,day=1;
    			else
    				day++;
    		}
    		break;
    	case 12:
    		{
    			if(day==31)
    				month=1,year++,day=1;
    			else
    				day++;
    		}
    	case 2:
    		if(year%400==0||(year%100!=0&&year%4==0))
    		{
    			if(day==29)
    				month=3,day=1;
    			else
    				day++;
    		}
    		else
    		{
    			if(day==28)
    				month=3,day=1;
    			else
    				day++;
    		}
    		break;
    	}
    	printf("%04d-%02d-%02d\n",year,month,day);
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    int main()
    {
    	int y,m,d;
    	scanf("%d-%d-%d",&y,&m,&d);
    	if(m!=2&&d<30)
    		d++;
    	else
    		if(m==2)
    			if(d==29)
    				m++,d=1;
    			else
    				if(y%400==0||(y%100!=0&&y%4==0))
    					d++;
    				else if(d==28)
    					m++,d=1;
    				else if(d<28)
    					d++;
    				while(d==31&&m==12)
    					y++,m=1,d=1;
    				while(d==31&&m!=12)
    					m++,d=1;
    				while(d==30)
    					switch(m)
    				{
    					case 1:case 3:case 5:case 7:case 8:case 10:case 12:d++;break;
    					case 4:case 6:case 9:case 11:d=1;m++;break;
    				}
    		printf("%04d-%02d-%02d\n",y,m,d);
    	return 0;
    }
    
    
    • 1

    信息

    ID
    2628
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者