用C语言输入格式 一个日期,格式是"AA/BB/CC"。 (0 <= A, B, C <= 9) 输出格式 输出若干个不相同的日期,每个日期一行,格式是"yyyy-MM-dd"。多个日期按从早到晚排列。 样例输入 02/03/04 样例输出 2002-03-04 2004-02-03 2004-03-02
时间: 2024-03-05 17:50:04 浏览: 27
好的,以下是用C语言编写的代码:
```c
#include <stdio.h>
int main()
{
int a, b, c;
int year, month, day;
int inputYear, inputMonth, inputDay;
// 输入日期
scanf("%d/%d/%d", &a, &b, &c);
inputYear = 2000 + a * 10 + b;
inputMonth = c * 10 + a;
inputDay = b * 10 + c;
// 输出日期
for(a = 0; a <= 9; a++)
{
for(b = 0; b <= 9; b++)
{
for(c = 0; c <= 9; c++)
{
year = 2000 + a * 10 + b;
month = c * 10 + a;
day = b * 10 + c;
if(month <= 12 && day <= 31)
{
int dateNum1 = inputYear * 10000 + inputMonth * 100 + inputDay;
int dateNum2 = year * 10000 + month * 100 + day;
if (dateNum2 >= dateNum1) { // 如果日期晚于或等于输入日期,则输出
printf("%04d-%02d-%02d\n", year, month, day);
}
}
}
}
}
return 0;
}
```
该程序首先通过`scanf`函数输入一个日期,然后通过三层循环来枚举所有可能的日期,判断日期是否合法且晚于或等于输入日期,如果是,则输出日期。需要注意的是,该程序假设年份为2000年到2099年之间,如果需要扩展到其他年份范围,需要修改相应的代码。