30分,求大神帮助
查看原帖
30分,求大神帮助
1178990
kaijie2002楼主2024/5/24 21:43

SOS信息

我是[一个狂写了60行代码而不知道怎么办的蒟蒻]。

我 深陷 30分的沼泽中而无法自拔 !!!

个人偏好

我更喜欢您对我的代码进行debug,
而不需要您辛辛苦苦重新编的代码。

情况

WAACWAAC
ACWAWAWA
WATLETLE共30分

代码

#include<bits/stdc++.h>
using namespace std;
struct date{
	int date_num;
	int year,month,day;
};
int flip(int i){
	int a,b,c,d,e,f,g,h;
	h=i%10;
	g=i%100-h;
	f=i%1000-g*10-h;
	e=i%10000-f*1e2-g*10-h;
	d=i%100000-e*1e3-f*1e2-g*10-h;
	c=i%1000000-d*1e4-e*1e3-f*1e2-g*10-h;
	b=i%10000000-c*1e5-d*1e4-e*1e3-f*1e2-g*10-h;
	a=i%100000000-b*1e6-c*1e5-d*1e4-e*1e3-f*1e2-g*10-h;
	return h*1e7+g*1e6+f*1e5+e*1e4+d*1e3+c*1e2+b*10+a;
}
bool is_run(int year){
	if( year%4==0 && year%100!=0 ){
		return true;
	}else if(year%400==0){
		return true;
	}else{
		return false;
	}
}
bool right_date(int a){//半成品 
	int arr[12]{31,28,31,30,31,30,31,31,30,31,30,31};
	date temp;
	temp.date_num=a;
	temp.day=temp.date_num%100;
	temp.month=temp.date_num%10000-temp.day;
	temp.year = temp.date_num - temp.day - temp.month*100;
	if(temp.month>=1 && temp.month<=12){
		if(temp.month==2 && is_run(temp.year)){
			if(temp.day>=1&&temp.day<=29)return true;
		}else{
			if(temp.day>=1&&temp.day<=arr[temp.month])return true;
		}
	}
	return false;
}
date began,ended,temp;
int cnt;
int main(){
	cin>>began.date_num>>ended.date_num;
	began.day=began.date_num%100;
	began.month=began.date_num%10000-began.day;
	began.year = began.date_num - began.day - began.month*100;
	ended.day=ended.date_num%100;
	ended.month=ended.date_num%10000-ended.day;
	ended.year = ended.date_num - ended.day - ended.month*100;
	for(int i=began.year;i<=ended.year;i++){
		if(right_date(flip(i))){
			cnt++;
		}
	}
	cout<<cnt; 
	return 0;
}

感谢

衷心感谢您的回帖!
—— 一个狂写了60行代码而不知道怎么办的蒟蒻

2024/5/24 21:43
加载中...