45fen 求调
查看原帖
45fen 求调
920270
Wei_scky楼主2024/9/20 09:39

我发现02-29过不了,求看哪里错了

#include<bits/stdc++.h>
using namespace std;
char a,b,c,d,e;
int ans,dy;
void hack_one() {
	dy=(d-'0')*10+e-'0';
	if(dy>31) ans++;
	if(dy==0) ans++;
}
void hack_two() {
	dy=(d-'0')*10+e-'0';
	if(dy>30) ans++;
	if(dy==0) ans++;
}
void hack_thee() {
	dy=(d-'0')*10+e-'0';
	if(dy>28) ans++;
	if(dy==0) ans++;
}
void hack(int sum) {
	ans++;
	int cnt=sum/10,num=sum-(cnt*10);
	if(num==2) num=12;
	
	if(num=1||num==3||num==5||num==7||num==8||num==10||num==12) 
		hack_one();
	else if(num==4||num==6||num==9||num==11) 
	    hack_two();
	else if(num==2) hack_thee();
}
int main() {
    scanf("%c%c%c%c%c",&a,&b,&c,&d,&e);
    int sum=(a-'0')*10+b-'0';
    if(sum<=12) {
    	if(sum=1||sum==3||sum==5||sum==7||sum==8||sum==10||sum==12) 
		    hack_one();//处理31天月份 
		else if(sum==4||sum==6||sum==9||sum==11) 
		    hack_two();//处理30天月份 
		else if(sum==2) hack_thee();//处理2月; 
	}
	else {
		hack(sum);//处理月份>12的月份 
	}
	cout<<ans;
    return 0;
}
2024/9/20 09:39
加载中...