莫比乌斯反演 2021-12-17 04:41 采纳率: 100%
浏览 28
已结题

给出一个字符串代表日期,问它是这一年的第几天

每次输入为一个字符串,字符串的格式为 YEAR/MM/DD,即 YEAR 年 MM 月 DD 日。要求输出这是一年的第几天。
希望偶多组数据。不知道要怎么处理输入结束

  • 写回答

1条回答 默认 最新

  • 英雄哪里出来 2021年博客之星Top1 2021-12-17 05:02
    关注
    #include <stdio.h>
    
    int monthday[] = { 0,                // (1) 
        31, 28, 31, 30, 31, 30,
        31, 31, 30, 31, 30, 31    
    };
    int sumday[13];
    char str[100];
    int y, m, d;
    
    int main() {
        int i;
        while (scanf("%s", str) != EOF) {
            sscanf(str, "%4d/%2d/%2d", &y, &m, &d);
            if (y % 4 == 0 && y % 100 || y % 400 == 0) {
                monthday[2] = 29;        // (2)
            }
            else {
                monthday[2] = 28;
            }
            sumday[0] = 0;
            for (i = 1; i <= 12; ++i) {  // (3)
                sumday[i] = sumday[i - 1] + monthday[i];
            }
            int ans = sumday[m - 1] + d; // (4)
            printf("%d\n", ans);
        }
        return 0;
    }
    
    • $(1)$ 数组monthday[i]存储的是平年的情况下,第 $i$ 个月的总天数;
    • $(2)$ 根据条件判断是闰年的情况下,2月的总天数变成 29;
    • $(3)$ 统计 $1$ 月到 $i$ 月的总天数存储在sumday[i]中;
    • $(4)$ 根据前面月份加上当前天数,计算总的天数;
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月17日
  • 已采纳回答 12月17日
  • 创建了问题 12月17日

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮