美文网首页
秋招准备-网易秋招笔试-1

秋招准备-网易秋招笔试-1

作者: Buyun0 | 来源:发表于2018-07-31 12:12 被阅读0次

    网易秋招笔试-1

    (牛客网)[https://www.nowcoder.com/test/question/done?tid=17121956&qid=117506]

    题目描述

    小W有一个电子时钟用于显示时间,显示的格式为HH:MM:SS,HH,MM,SS分别表示时,分,秒。其中时的范围为[‘00’,‘01’…‘23’],分的范围为[‘00’,‘01’…‘59’],秒的范围为[‘00’,‘01’…‘59’]。

    image

    但是有一天小W发现钟表似乎坏了,显示了一个不可能存在的时间“98:23:00”,小W希望改变最少的数字,使得电子时钟显示的时间为一个真实存在的时间,譬如“98:23:00”通过修改第一个’9’为’1’,即可成为一个真实存在的时间“18:23:00”。修改的方法可能有很多,小W想知道,在满足改变最少的数字的前提下,符合条件的字典序最小的时间是多少。其中字典序比较为用“HHMMSS”的6位字符串进行比较。

    输入描述:

    每个输入数据包含多个测试点。每个测试点后有一个空行。 第一行为测试点的个数T(T<=100)。 每个测试点包含1行,为一个字符串”HH:MM:SS”,表示钟表显示的时间。

    输出描述:

    对于每个测试点,输出一行。如果钟表显示的时间为真实存在的时间,则不做改动输出该时间,否则输出一个新的”HH:MM:SS”,表示修改最少的数字情况下,字典序最小的真实存在的时间。

    输入例子1:

    2
    19:90:23
    23:59:59

    输出例子1:

    19:00:23
    23:59:59

    #include<iostream>
    #include<string>
    #include<vector>
    #include<iomanip>
    using namespace std;
    vector<string>vec;
     
    int main() {
        int n = 0;
        cin >> n;
        int i = 0;
        string a[100];
        while (i <n) {
            cin >> a[i];
            i++;
        }
     
     
        for (int i = 0; i < n; i++) {
            if (a[i][0] >= '2') {
                if (a[i][0] == '2'&&a[i][1] > '3')a[i][0] = '0';
                else if (a[i][0] > '2')a[i][0] = '0';
            }
            if (a[i][3] >'5') {
                a[i][3] = '0';
            }
            if (a[i][6] >'5') {
                a[i][6] = '0';
            }
        }
         
        int b = 0;
        while (b < n) {
            cout <<a[b] << endl;
            b++;
        }
     
     
     
        return 0;
    }
    

    主要目的是练习输入输出,题目本身非常简单。

    相关文章

      网友评论

          本文标题:秋招准备-网易秋招笔试-1

          本文链接:https://www.haomeiwen.com/subject/lmncvftx.html