输入格式: 第一行一个日期,格式为YYYY/MM/DD。 第二行两个整数N和M,0<M≤N≤30。 之后M行,每行一个整数0≤X i ≤100,0≤i<M,表示从今天开始,往过去数第i天的新增病例数(包括今天)。 输出格式: 一行,一个日期,格式为YYYY/MM/DD,请不要有多余的空格。c语言
时间: 2024-02-27 17:59:07 浏览: 198
好的,以下是一个示例C语言代码,可以解决这个问题:
```c
#include <stdio.h>
#include <string.h>
struct Date {
int year, month, day;
};
int main() {
// 读取输入
char date_str[11];
scanf("%s", date_str);
int n, m;
scanf("%d %d", &n, &m);
int cases[m];
for (int i = 0; i < m; i++) {
scanf("%d", &cases[i]);
}
// 解析日期
struct Date date;
sscanf(date_str, "%d/%d/%d", &date.year, &date.month, &date.day);
// 计算总病例数
int total_cases = 0;
for (int i = 0; i < m; i++) {
total_cases += cases[i];
}
// 计算每天新增病例数
int daily_cases[m];
daily_cases[m - 1] = total_cases;
for (int i = m - 2; i >= 0; i--) {
daily_cases[i] = total_cases - daily_cases[i + 1];
}
// 往前推N天
for (int i = 0; i < n; i++) {
if (date.day > 1) {
date.day--;
} else if (date.month > 1) {
date.month--;
if (date.month == 4 || date.month == 6 || date.month == 9 || date.month == 11) {
date.day = 30;
} else if (date.month == 2) {
if ((date.year % 4 == 0 && date.year % 100 != 0) || date.year % 400 == 0) {
date.day = 29;
} else {
date.day = 28;
}
} else {
date.day = 31;
}
} else {
date.year--;
date.month = 12;
date.day = 31;
}
}
// 输出结果
printf("%04d/%02d/%02d\n", date.year, date.month, date.day);
return 0;
}
```
您可以将以上代码复制到C语言环境中编译运行,然后输入您的数据,即可得到相应的输出。
阅读全文
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)