天天看點

HDOJ題目2005第幾天

HDOJ:2005第幾天

    • 注意點
    • 我的第一次代碼
    • ac通過代碼
    • 反思
HDOJ題目2005第幾天

注意點

1、判斷閏年平年

2、每個月份的累加

for(int i=0;i<m;i++)
	{	sum+=month[i]; }
           

我的第一次代碼

不通過:答案錯誤

#include <iostream>
#include <cmath>
using namespace std;
int main(){
	int y,m,d,sum;
	char c;
	int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
	while(cin>>y>>c>>m>>c>>d){
		sum=0;
	if(y%4==0&&y%100!=0||y%400==0)
		month[2]=29;
	for(int i=0;i<m;i++)
	{	sum+=month[i]; }
		sum+=d;
	cout<<sum<<endl;
	}
		return 0;
}
           

ac通過代碼

#include <iostream>
#include <cmath>
using namespace std;
int main(){
	int y,m,d,sum;
	char c;
	int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
	while(cin>>y>>c>>m>>c>>d){
		sum=0;
	if(y%4==0&&y%100!=0||y%400==0)
		month[2]=29;
	else 
		month[2]=28;
	for(int i=0;i<m;i++)
	{	sum+=month[i]; }
		sum+=d;
	cout<<sum<<endl;
	}
		return 0;
}
           

反思

每一個判斷都要給每一個來的客人提供位置

有if的方向也要有else的方向