首页 > 本地IDE过了,显示0.0%,我想知道为啥
头像
Qu1et
发布于 2020-03-13 21:24
+ 关注

本地IDE过了,显示0.0%,我想知道为啥

输入整型,“,”隔开,默认输入6个整型数
如1,2,3,4,5,6   求出二十四小时时间制最大, 输出 23:56:41   如果超出显示invalid
看看有啥问题?


#include <iostream>
#include <vector>
#include <string>

int main()
{
    std::vector<int> vec;
    char c;
    while((c = getchar())!= '\n')
    {
        if(c != ',')
        {
            int tmp;
            ungetc(c, stdin);
            std::cin>>tmp;
            vec.emplace_back(tmp);
        }
    }
    
    std::vector<int> t;
    auto for_fu = [&](int i)->bool{
        for(auto itr = vec.begin(); itr != vec.end(); itr++)
        {
            if(*itr == i)
            {
                t.emplace_back(i) ;
                vec.erase(itr);
                return true;
            }
        }
        return false;
    };
    
    auto fun = [&](int number)->bool{
        for(int i = number; i >= 0; i--)
        {
            if(for_fu(i))
                return true;
        }
        return false;
    };
    int ck[5] = {3,5,9,5,9};
    auto ckfun = [&]()->bool{
        for(auto m = 0; m < 5; m++)
        {
            if(!fun(ck[m]))
            {
                std::cout<<"invalid"<<std::endl;
                return false;
            }
        }
        return true;
    };
   

    if(!fun(2))
    {
        std::cout<<"invalid"<<std::endl;
        return 1;
    }
    else
    {
        if(t[0] == 2)
        {
            if(!ckfun())
            {
                return 1;
            }
        }
        else
        {
            ck[0] = 9;
            if(!ckfun())
            {
                return 1;
            }
        }
     
    }
   
    std::string str;
   str = std::to_string(t[0]) + std::to_string(t[1]) + ":" + \
        std::to_string(t[2]) + std::to_string(t[3]) + ":" +\
        std::to_string(t[4]) + std::to_string(t[5]);
    std::cout<<str<<std::endl;
    return 0;
}


全部评论

(0) 回帖
加载中...
话题 回帖