有没有办法,在c语言创建字符数组后,可以以.为间隔从键盘中一次获得以.为间隔输入形式的日期并输出
时间: 2024-02-13 15:01:53 浏览: 64
调用scanf函数输入多个数据-C语言教程——浙大
有办法,可以使用 `scanf()` 函数的格式化字符串来指定输入格式。以下是实现该功能的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char date[11];
printf("请输入日期(格式为YYYY.MM.DD):");
scanf("%4s.%2s.%2s", date, date + 5, date + 8);
char year[5], month[3], day[3];
strncpy(year, date, 4);
strncpy(month, date + 5, 2);
strncpy(day, date + 8, 2);
year[4] = '\0';
month[2] = '\0';
day[2] = '\0';
printf("%s年", year);
if (month[0] == '0') {
printf("%c月", month[1]);
} else {
printf("%s月", month);
}
if (day[0] == '0') {
printf("%c日\n", day[1]);
} else {
printf("%s日\n", day);
}
return 0;
}
```
这段代码使用了 `scanf()` 函数的 `%4s.%2s.%2s` 格式化字符串,表示先读取四个字符作为年份,再读取一个点号,再读取两个字符作为月份,再读取一个点号,最后读取两个字符作为日期。这样就可以一次性读取以点号为间隔的日期字符串。然后再按照上一段代码的方法进行处理,输出格式化后的日期。
阅读全文