|
发表于 2022-1-7 22:26:54
|
显示全部楼层
本帖最后由 jackz007 于 2022-1-7 23:46 编辑
- #include <stdio.h>
- int md(int y , int m)
- {
- int d[12] = {31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31} , r ;
- r = d[m - 1] ;
- if((! (y % 4) && y % 100) || ! (y % 400)) r ++ ;
- return r ;
- }
- int main(void)
- {
- int d , m , x , y , dx ;
- scanf("%d%d%d%d" , & y , & m , & d , & x) ;
- for(d += x , dx = md(y , m) ; d > dx ; dx = md(y , m)) {
- d -= dx ;
- m ++ ;
- if(m > 12) {
- y ++ ;
- m = 1 ;
- }
- }
- printf("%d-%d-%d\n" , y , m , d) ;
- }
复制代码
编译、运行实况:
- D:\00.Excise\C>g++ -o x x.c
- D:\00.Excise\C>x
- 2022 1 1 31
- 2022-2-1
- D:\00.Excise\C>x
- 2022 1 1 35
- 2022-2-5
- D:\00.Excise\C>
复制代码 |
|