咋也不知道哪错了 90#4
查看原帖
咋也不知道哪错了 90#4
382475
瓶装:楼主2020/11/6 14:28

打表的代码有一丢丢长,请耐心看完,谢谢(一名蒟蒻)

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
int main()
{
	int ha=0;
	char m1,m2,w,d1,d2;
	scanf("%c%c%c%c%c",&m1,&m2,&w,&d1,&d2);
	int a=m1-'0';
	int b=m2-'0';
	int c=d1-'0';
	int d=d2-'0';
	if(b==0)
	{
		if(a*10+b==0&&c*10+d<=31)
		ha+=1;
		if(a*10+b==0&&c*10+d>31)
		ha+=2;
		if(a*10+b==10&&c*10+d<=31)
		ha+=0;
		if(a*10+b==10&&c*10+d>31)
		ha+=1;
		if(a*10+b>10&&c*10+d<=31)
		ha+=1;
		if(a*10+b>10&&c*10+d>31)
		ha+=2;
	}
	if(b==1)
	{
		if(a*10+b==1&&c*10+d<=31)
		ha+=0;
		if(a*10+b==1&&c*10+d>31)
		ha+=1;
		if(a*10+b==11&&c*10+d<=30)
		ha+=0;
		if(a*10+b==11&&c*10+d>30)
		ha+=1;
		if(a*10+b>12&&c*10+d<=31)
		ha+=1;
		if(a*10+b>12&&c*10+d>31)
		ha+=2;
	}
	if(b==2)
	{
		if(a*10+b==2&&c*10+d<=28)
		ha+=0;
		if(a*10+b==2&&c*10+d>28)
		ha+=1;
		if(a*10+b==12&&c*10+d<=31)
		ha+=0;
		if(a*10+b==12&&c*10+d>31)
		ha+=1;
		if(a*10+b>12&&c*10+d<=31)
		ha+=1;
		if(a*10+b>12&&c*10+d>31)
		ha+=2;
	}
	if(b==3)
	{
		if(a*10+b<=12&&c*10+d<=31)
		ha+=0;
		if(a*10+b<=12&&c*10+d>31)
		ha+=1;
		if(a*10+b>12&&c*10+d<=31)
		ha+=1;
		if(a*10+b>12&&c*10+d>31)
		ha+=2;
	}
	if(b==4)
	{
		if(a*10+b<=12&&c*10+d<=30)
		ha+=0;
		if(a*10+b<=12&&c*10+d>30)
		ha+=1;
		if(a*10+b>12&&c*10+d<=30)
		ha+=1;
		if(a*10+b>12&&c*10+d>30)
		ha+=2;
	}
	if(b==5)
	{
		if(a*10+b<=12&&c*10+d<=31)
		ha+=0;
		if(a*10+b<=12&&c*10+d>31)
		ha+=1;
		if(a*10+b>12&&c*10+d<=31)
		ha+=1;
		if(a*10+b>12&&c*10+d>31)
		ha+=2; 
	}
	if(b==6)
	{
		if(a*10+b<=12&&c*10+d<=30)
		ha+=0;
		if(a*10+b<=12&&c*10+d>30)
		ha+=1;
		if(a*10+b>12&&c*10+d<=30)
		ha+=1;
		if(a*10+b>12&&c*10+d>30)
		ha+=2;
	} 
	if(b==7)
	{
		if(a*10+b<=12&&c*10+d<=31)
		ha+=0;
		if(a*10+b<=12&&c*10+d>31)
		ha+=1;
		if(a*10+b>12&&c*10+d<=31)
		ha+=1;
		if(a*10+b>12&&c*10+d>31)
		ha+=2;
	} 
	if(b==8)
	{
		if(a*10+b<=12&&c*10+d<=31)
		ha+=0;
		if(a*10+b<=12&&c*10+d>31)
		ha+=1;
		if(a*10+b>12&&c*10+d<=31)
		ha+=1;
		if(a*10+b>12&&c*10+d>31)
		ha+=2;
	} 
	if(b==9)
	{
		if(a*10+b<=12&&c*10+d<=30)
		ha+=0;
		if(a*10+b<=12&&c*10+d>30)
		ha+=1;
		if(a*10+b>12&&c*10+d<=30)
		ha+=1;
		if(a*10+b>12&&c*10+d>30)
		ha+=2;
	} 
	if(c*10+d==0)
	ha+=1;
	printf("%d",ha);
	return 0;	
}

真的是不知道哪个地方漏下了,就是90.。。。。。

2020/11/6 14:28
加载中...