printyear.cpp

来自「第29届acm杯世界大学生编程竞赛答案题c.」· C++ 代码 · 共 44 行

CPP
44
字号
#include<iostream>
#include<fstream>
using namespace std;
ifstream infile("year.in.txt");
ofstream outfile("year.out.txt");
int days,month,year,dayOfWeek;
int main(){
	void printYear();
	int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
	int i,j;
	while(1){
		month=1;year=2000;dayOfWeek=6;
		infile>>days;
		if(days==-1) return 0;
		dayOfWeek+=days%7;dayOfWeek%=7;
		i=days/1461;
		year+=4*i;
		days=days%1461+1;
		j=(days-1)/365;
		year+=j;
		days=(days-1)%365+1;
		if(!(year%4)) m[2]=29;else m[2]=28;
		while(days-m[month]>0){days-=m[month];month++;}
		printYear();
	}
}
void printYear(){
	outfile<<year<<"-";
	if(month<10)outfile<<"0"<<month<<"-";
	else outfile<<month<<"-";
	if(days<10) outfile<<"0"<<days;
	else outfile<<days;
	outfile<<'\t';
	switch(dayOfWeek){
	case 1:outfile<<"Monday"<<endl;break;
	case 2:outfile<<"Tuesday"<<endl;break;
	case 3:outfile<<"Wednsday"<<endl;break;
	case 4:outfile<<"Thursday"<<endl;break;
	case 5:outfile<<"Friday"<<endl;break;
	case 6:outfile<<"Saturday"<<endl;break;
	case 0:outfile<<"Sunday"<<endl;break;
	}
}
		

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?