1 条题解

  • 0
    @ 2025-4-12 21:43:14

    C :

    #include<stdio.h>
    int main()
    {
    	int year,month,day;							//定义变量年、月、日 
    	int total=153;								//定义总的天数 
    	int l,m,n,q,p; 									//定义中间变量 
    	scanf("%d-%d-%d",&year,&month,&day);		//输入数据
    	l=2014-year;
    	m=l%4;
    	n=l/4;
    	switch(m)
    	{
    		case 1:
    			total+=(1461*n);
    			total+=365;
    			switch(month)
    			{
    				case 1:total-=(day);break;
    				case 2:total-=(31+day);break;
    				case 3:total-=(59+day);break;
    				case 4:total-=(90+day);break;
    				case 5:total-=(120+day);break;
    				case 6:total-=(151+day);break;
    				case 7:total-=(181+day);break;
    				case 8:total-=(212+day);break;
    				case 9:total-=(243+day);break;
    				case 10:total-=(273+day);break;
    				case 11:total-=(304+day);break;
    				case 12:total-=(334+day);break;
    			}
    			break;
    		case 2:
    			total+=(1461*n);
    			total+=731;
    			switch(month)
    			{
    				case 1:total-=(day);break;
    				case 2:total-=(31+day);break;
    				case 3:total-=(60+day);break;
    				case 4:total-=(91+day);break;
    				case 5:total-=(121+day);break;
    				case 6:total-=(152+day);break;
    				case 7:total-=(182+day);break;
    				case 8:total-=(213+day);break;
    				case 9:total-=(244+day);break;
    				case 10:total-=(274+day);break;
    				case 11:total-=(305+day);break;
    				case 12:total-=(335+day);break;
    			}
    			break;
    		case 3:
    			total+=(1461*n);
    			total+=1096;
    			switch(month)
    			{
    				case 1:total-=(day);break;
    				case 2:total-=(31+day);break;
    				case 3:total-=(59+day);break;
    				case 4:total-=(90+day);break;
    				case 5:total-=(120+day);break;
    				case 6:total-=(151+day);break;
    				case 7:total-=(181+day);break;
    				case 8:total-=(212+day);break;
    				case 9:total-=(243+day);break;
    				case 10:total-=(273+day);break;
    				case 11:total-=(304+day);break;
    				case 12:total-=(334+day);break;
    			}
    			break;
    		case 0:
    			total+=(1461*n);
    			switch(month)
    			{
    				case 1:total-=(day);break;
    				case 2:total-=(31+day);break;
    				case 3:total-=(59+day);break;
    				case 4:total-=(90+day);break;
    				case 5:total-=(120+day);break;
    				case 6:total-=(151+day);break;
    				case 7:total-=(181+day);break;
    				case 8:total-=(212+day);break;
    				case 9:total-=(243+day);break;
    				case 10:total-=(273+day);break;
    				case 11:total-=(304+day);break;
    				case 12:total-=(334+day);break;
    			}
    			break;
    	}
    	total+=1;
    	q=total%7;
    	switch(q)
    	{
    		case 6:p=3;break;
    		case 5:p=4;break;
    		case 4:p=5;break;
    		case 3:p=6;break;
    		case 2:p=7;break;
    		case 1:p=1;break;
    		case 0:p=2;break;
    	}
    	printf("%d\n%d",total,p);
    }
    

    C++ :

    #include<iostream>
    using namespace std;
    int main ()
    {
        int y,m,d,c,s,w,n;
        char p,q;
        cin >> y >> p >> m >> q >> d;
        if (m==1) c=d;
        else if (m==2) c=31+d;
        else if (m==3) c=31+28+d;
        else if (m==4) c=31+28+31+d;
        else if (m==5) c=31+28+31+30+d;
        else if (m==6) c=31+28+31+30+31+d;
        else if (m==7) c=31+28+31+30+31+30+d;
        else if (m==8) c=31+28+31+30+31+30+31+d;
        else if (m==9) c=31+28+31+30+31+30+31+31+d;
        else if (m==10) c=31+28+31+30+31+30+31+31+30+d;
        else if (m==11) c=31+28+31+30+31+30+31+31+30+31+d;
        else if (m==12) c=31+28+31+30+31+30+31+31+30+31+30+d;
        if (m>2)
        {
    	    if (y%100==0)
    		{
    		    if (y%400==0) c ++;
    		}
            else if (y%4==0) c ++;
    	}
        s = (y - 1) * 365 + ( y - 1) / 4 - (y - 1) / 100 + (y - 1) / 400 + c;
        n = (2014 - 1) * 365 + ( 2014 - 1) / 4 - (2014- 1) / 100 + (2014 - 1) / 400 + 154;
        cout << n-s<< endl;
        w = s % 7;
    	switch (w)
        {
            case 0: cout << "7";break;
            case 1: cout << "1";break;
            case 2: cout << "2";break;
            case 3: cout << "3";break;
            case 4: cout << "4";break;
            case 5: cout << "5";break;
            case 6: cout << "6";break;
        }
        return 0;
    }
    
    
    • 1

    信息

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