⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2351.cpp

📁 非常好的C++学习源码,里面包括各种算法的实现,二叉的的前中后序遍历等
💻 CPP
字号:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
	char a[33][6]={"UTC", "GMT", "BST","IST", "WET" ,"WEST","CET" ,"CEST" ,"EET", "EEST" , "MSK", "MSD", "AST" ,"ADT" ,"NST" ,"NDT", "EST", "EDT",
		"CST","CDT" ,"MST", "MDT",  "PST", "PDT", "HST", "AKST", "AKDT", "AEST", "AEDT", "ACST", "ACDT",  "AWST"} ;
	char t[15],t1[6],c1[6],c2[6];
	float b[32]={0,0,1,1,0,1,1,2,2,3,3,4,-4,-3,-3.5,-2.5,-5,-4,-6,-5,-7,-6,-8,-7,-10,-9,-8,10,11,9.5,10.5,8},sst;
	int i,k,j,m,n,p,q,h,min,ch,cmin,ccmin[2];
	cin>>k;
	for (i=1;i<=k;i++)
	{
		h=0;
		min=0;
		cin>>t;
		if (strcmp(t,"noon")==0)
		{
			h=12;
			min=0;
		}
		else 
		{
			if (strcmp(t,"midnight")==0)
			{
				h=24;
				min=0;
			}
			else 
				cin>>t1;
		}
		cin>>c1>>c2;
		for (j=0;j<32;j++)
		{
			if (strcmp(c1,a[j])==0)
				m=j;
			if (strcmp(c2,a[j])==0)
				n=j;
		}
		if ((strcmp(t,"midnight")!=0)&&(strcmp(t,"noon")!=0))
		{
			for (j=0;j<15;j++)
				if (t[j]==':')
				{
					p=j-1;
					break;
				}
			for (j=0;j<=p;j++)
				h=h*10+t[j]-'0';
			for (j=p+2;j<15;j++)
				if (t[j]=='\0')
				{
					q=j-1;
					break;
				}
			for (j=p+2;j<=q;j++)
				min=min*10+t[j]-'0';
			if ((t1[0]=='p')&&(h!=12))
				h=h+12;
			if ((t1[0]=='a')&&(h==12))
				h=0;
		}
		sst=b[n]-b[m];
		if (((int(sst*2))%2)==0)
		{
			ch=h+sst;
		    if (ch>=24)
				ch=ch-24;
			if (ch<0)
				ch=ch+24;
			cmin=min;
		}
		else 
		{
			if (sst>0)
			{
				ch=h+int((sst*2))/2;
				cmin=min+30;
			}
			else
			{
				ch=h-int(0-(sst*2))/2;
				cmin=min-30;
			}
			if (cmin>=60)
			{
				cmin=cmin-60;
				ch=ch+1;
			}
			if (cmin<0)
			{
				cmin=cmin+60;
				ch=ch-1;
			}
			if (ch>=24)
				ch=ch-24;
			if (ch<0)
				ch=ch+24;
		}
		if (cmin<10)
		{
			ccmin[0]=0;
			ccmin[1]=cmin;
		}
		if (cmin>=10)
		{
			ccmin[0]=cmin/10;
			ccmin[1]=cmin-(cmin/10)*10;
		}
		if ((ch==0)&&(cmin==0))
			cout<<"midnight"<<endl;
		else 
		{
			if ((ch==12)&&(cmin==0))
				cout<<"noon"<<endl;
			if (ch>12)
				cout<<ch-12<<":"<<ccmin[0]<<ccmin[1]<<" p.m."<<endl;
			if ((ch<12)&&(ch!=0))
				cout<<ch<<":"<<ccmin[0]<<ccmin[1]<<" a.m."<<endl;
			if ((ch==12)&&(cmin!=0))
				cout<<ch<<":"<<ccmin[0]<<ccmin[1]<<" p.m."<<endl;
			if ((ch==0)&&(cmin!=0))
				cout<<12<<":"<<ccmin[0]<<ccmin[1]<<" a.m."<<endl;
		}
	}
	return 0;
}
			
		



			
		
				




⌨️ 快捷键说明

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