讨论 / c语言输入就是好
hws_sheng 2009-11-05 04:11:00
点我顶贴 收藏 删除
#include<iostream>

#include<cstring>

using namespace std;

int Y,M,D,T,S,m;

int a[7];

void jian()

{

a[6]=m;a[5]=S-20;a[4]=T-10;

a[3]=D-18;a[2]=M-5;a[1]=Y-1990;

if (a[6]<0) {

a[6]+=60;

a[5]--;

}

if (a[5]<0){

a[5]+=60;

a[4]--;

}

if (a[4]<0){

a[4]+=24;

a[3]--;

}

int dx[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};

if (a[3]<0){

if (a[2]!=2) a[3]+=dx[a[2]];

else{

if (Y%400==0 || Y%100!=0 && Y%4==0)

a[3]+=29;

else

a[3]+=28;

}

}

if (a[2]<0){

a[2]+=12;

a[1]--;

}

}

void jia()

{

a[6]=0-m;a[5]=20-S;a[4]=10-T;

a[3]=18-D;a[2]=5-M;a[1]=1990-Y;

if (a[6]<0) {

a[6]+=60;

a[5]--;

}

if (a[5]<0){

a[5]+=60;

a[4]--;

}

if (a[4]<0){

a[4]+=24;

a[3]--;

}

int dx[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};

if (a[3]<0){

if (a[2]!=2) a[3]+=dx[a[2]];

else{

if (Y%400==0 || Y%100!=0 && Y%4==0)

a[3]+=29;

else

a[3]+=28;

}

}

if (a[2]<0){

a[2]+=12;

a[1]--;

}

}

int main()

{

char c;

cin>>Y>>c>>M>>c>>D>>c>>T>>c>>S>>c>>m;

if (Y>1990) jian();

else if (Y==1990 && M>5) jian();

else if (Y==1990 && M==5 && D>18) jian();

else if (Y==1990 && M==5 && D==18 && T>10) jian();

else if (Y==1990 && M==5 && D==18 && T==10 && S>20) jian();

else if (Y==1990 && M==5 && D==18 && T==10 && S==20 && m>0) jian();

else if (Y==1990 && M==5 && D==18 && T==10 && S==20 && m==0){

cout<<"0/0/0/0/0/0\n";

return 0;

}else jia();

for (int i=1;i<6;i++) cout<<a[i]<<"/";

cout<<a[6]<<endl;

return 0;

}

查看更多回复
提交回复