编写程序按“2018-09-20”输入日期,将日期按“18年9月”输出
时间: 2023-04-02 10:04:36 浏览: 104
您好,以下是我的回答:
可以使用 C 语言中的字符串操作函数和时间函数来实现。具体步骤如下:
1. 定义一个字符串变量存储输入的日期,使用 scanf 函数获取用户输入的日期。
2. 使用 sscanf 函数将输入的日期按照“%d-%d-%d”的格式分别存储到三个整型变量中。
3. 使用 time 函数获取当前时间,再使用 localtime 函数将当前时间转换为 tm 结构体类型的变量。
4. 将 tm 结构体类型的变量中的年份和月份分别赋值为输入的年份和月份。
5. 使用 strftime 函数将 tm 结构体类型的变量转换为字符串类型的日期,格式为“%y年%m月”。
6. 输出转换后的日期字符串。
下面是示例代码:
```
#include <stdio.h>
#include <time.h>
int main()
{
char date[11];
int year, month, day;
struct tm *now;
time_t t;
printf("请输入日期(格式为yyyy-mm-dd):");
scanf("%s", date);
sscanf(date, "%d-%d-%d", &year, &month, &day);
time(&t);
now = localtime(&t);
now->tm_year = year - 190;
now->tm_mon = month - 1;
strftime(date, 11, "%y年%m月", now);
printf("%s\n", date);
return ;
}
```
输入示例:2018-09-20
输出示例:18年09月
阅读全文