pat 1061. Dating (20)

本文详细解读了一个代码片段,其核心功能是将输入的字符串解析为日期和时间,并以特定格式输出。通过字符串匹配和字符编码转换,实现从星期几、小时数、分钟数的解析到最终日期时间字符串的生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注意看懂题目的意思,

星期几是看第一个A~G相等,

小时数是看,0~9,A~N,而且是从天数决定出来的位置之后遍历。

分钟数是看a~z,A~Z。

代码如下:

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

//ifstream in("1061.txt");
//#define cin in

char a[7][4] = {"MON","TUE","WED","THU","FRI","SAT","SUN"};

int main()
{
	string str1,str2,str3,str4;

	cin >> str1 >> str2 >> str3 >> str4;
	
	int i;
	int h = 0;
	int d = 0;
	int mm = 0;
	for(i = 0;i<str1.size() && i < str2.size();i++)
	{
		if(str1[i] == str2[i] )
		{
			if(str1[i] >= 'A' && str1[i] <= 'G')
			{
				d = str1[i]-'A';
				break;
			}

		}
	}
	i++;
	for(;i<str1.size() && i < str2.size();i++)
	{
		if(str1[i] == str2[i])
		{
			if(str1[i] >= 'A' && str1[i] <= 'N')
			{
				h = str1[i]-'A' + 10 ;
				break;
			}
			else if(str1[i] >='0' && str1[i] <= '9')
			{
				h = str1[i] -'0';
				break;
			}
		}
	}
	for(i = 0;i<str3.size() && i < str4.size();i++)
	{
		if(str3[i] == str4[i] && ((str3[i] >= 'a' && str3[i] <= 'z') 
			|| (str3[i] >= 'A' && str3[i] <= 'Z')) )
		{
			mm = i;
			break;
		}
	}

	printf("%s %02d:%02d\n",a[d],h,mm);
	return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值