C++ GESP 一级 2023年9月 真题及解析 - 拷贝

C++ GESP 一级 2023年9月 真题及解析 - 拷贝

编码文章call10242025-01-12 12:05:4220A+A-

1单项选择



2判断题



3编程题


时分秒

问题描述

小明刚刚学习了小时、分和秒的换算关系。他想知道一个给定的时刻是这一天的第几秒,你能编写一个程序帮帮他吗?

输入描述

输入一行,包含三个整数和一个字符。三个整数分别表示时刻的时、分、秒;字符有两种取值,大写字母'A'表示上午,大写字母'P'表示下午。

输出描述

输出一行,包含一个整数,表示输入时刻是当天的第几秒。

样例

0 0 0 A
0
11 59 59 P
86399


题目分析

读入时分秒,如果是下午时间,则小时加上 12。

最终将 小时×3600,分钟×60 全部变为秒数。


参考程序

#include <bits/stdc++.h>
using namespace std;


int main() {


    int h, m, s;
    char ch;
  
    cin >> h >> m >> s >> ch;
  
    if(ch == 'P') h += 12;
  
    cout << h * 3600 + m * 60 + s;
    
    return 0;
}


几个闰年

问题描述

小明刚刚学习了如何判断平年和闰年,他想知道两个年份之间(包含起始年份和终止年份)有几个闰年。你能帮帮他吗?

输入描述

输入一行,包含两个整数,分别表示起始年份和终止年份。约定年份在 1 到 2022 之间

输出描述

输出一行,包含一个整数,表示闰年的数量。

样例

2018 2022
1
2000 2004
2


题目分析


枚举算法,如果满足闰年条件,则计数器加 1。

闰年判断:能被4整除但是不能被100整除 能被400整除。


参考程序


#include <bits/stdc++.h>
using namespace std;


int main() {


    int a, b;
    cin >> a >> b;
  
    int res = 0;
    for(int i = a; i <= b; i++){
        if((i % 4 == 0 && i % 100) || i % 400 == 0)
            res++;
      }
 
    cout << res;
    return 0;
}
点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4