|
发表于 2023-10-12 17:58:02
|
显示全部楼层
这道题需要将输入的日期格式转换成输出的日期格式,可以使用字符串的操作来实现。具体步骤如下:
1. 读入输入日期,使用scanf函数读入字符串格式的日期。
2. 对读入的日期进行处理,将年、月、日分别提取出来。
3. 根据题目要求,将年份转换成4位数,月份和日期转换成2位数。
4. 将处理后的年、月、日按照“yyyy-mm-dd”的格式输出。
以下是C++的代码实现:
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- using namespace std;
- int main() {
- char date[11];
- scanf("%s", date);
- int year, month, day;
- if (date[4] == '.') {
- sscanf(date, "%d.%d.%d", &year, &month, &day);
- } else {
- sscanf(date, "%d/%d/%d", &year, &month, &day);
- }
- if (year < 100) {
- year += 2000;
- }
- printf("%04d-%02d-%02d", year, month, day);
- return 0;
- }
复制代码
如果输入的日期格式为“yyyy.mm.dd”,则使用“%d.%d.%d”格式解析;如果输入的日期格式为“yy/mm/dd”,则使用“%d/%d/%d”格式解析。对于年份小于100的情况,将其加上2000,转换成4位数的年份。最后使用printf函数按照“%04d-%02d-%02d”的格式输出处理后的日期。 |
|