每日一题:统计天数

简介: 每日一题:统计天数

Description:

根据一些日期,以及日期上所做的标记,按条件统计其天数。

Input:

输入数据含有不多于50个的具有格式“Mon.DD YYYY”的日期,有些日期后面可能标有*,每个日期占一行。

Output:

统计任何月份中凡是25号的日期数,如果25号这一天后面标有*,则该天应加倍计算.

Sample Input:

0ct.25 2003

0ct.26 2003

Sep.12 2003*

Juy. 25 2002*

Sample Output:

3

代码一:

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
    int count = 0;
    string date;
    while (getline(cin, date)) {
        int day = stoi(date.substr(4, 2));
        if (day == 25) {
            count++;
            if (date.back() == '*') {
                count++;
            }
        }
    }
    cout << count << endl;
    return 0;
}

运行结果:

1.直接回车两次:

会报错,并且返回值为应该输出结果

2.利用Ctrl和Z输入两次

结果正确了,但是输入与题干要求不符合

对代码进行改进:

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
    int count = 0;
    string date;
    while (getline(cin, date)) {
        if (date == "")break;
        int day = stoi(date.substr(4, 2));
        if (day == 25) {
            count++;
            if (date.back() == '*') {
                count++;
            }
        }
    }
    cout << count << endl;
    return 0;
}

直接回车两次

改进之处:

添加了一行: if (date == "")break;

可以使输入条件进行限制与规范;

注意:

getline函数需要进行两次回车可以输出,多用于无法判断终止条件的时候使用;

输入数据时,月份后没有空格,只有日期与年份之间有空格,不要私自加空格,不然会无法调用函数,一直输不出正确结果,卡在这卡了好久。

目录
相关文章
|
索引 存储 数据库
数据库设计规范
基于阿里数据库设计规范扩展而来
50057 4
|
Oracle Java 关系型数据库
Oracle jdk 的国内下载镜像
Oracle jdk 的国内下载镜像
56043 0
|
10月前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
2784 2
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
|
Linux 虚拟化
VMware虚拟机中Linux系统磁盘空间扩容实战
VMware虚拟机中Linux系统磁盘空间扩容实战
1404 0
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
450 5
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
28549 73
|
存储 机器学习/深度学习
【数据结构】二叉树全攻略,从实现到应用详解
本文介绍了树形结构及其重要类型——二叉树。树由若干节点组成,具有层次关系。二叉树每个节点最多有两个子树,分为左子树和右子树。文中详细描述了二叉树的不同类型,如完全二叉树、满二叉树、平衡二叉树及搜索二叉树,并阐述了二叉树的基本性质与存储方式。此外,还介绍了二叉树的实现方法,包括节点定义、遍历方式(前序、中序、后序、层序遍历),并提供了多个示例代码,帮助理解二叉树的基本操作。
1035 13
【数据结构】二叉树全攻略,从实现到应用详解
|
存储 算法 编译器
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用(一)
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用
1806 0
|
前端开发 Java 程序员
牛皮的程序猿后端返回值怎么定义
在后端接口封装中,通常会统一返回数据格式,确保稳定性和可预测性。常见的模式包括状态码(如`code`或`ret`)、状态信息(`message`或`msg`)、核心数据(`data`)。`success`字段提供了一种直观判断接口是否成功的标志。例如:
224 0
|
安全
qt.qpa.xcb: could not connect to display 问题解决
【5月更文挑战第16天】qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. 问题解决
7428 1