zoukankan      html  css  js  c++  java
  • HDU 开门人和关门人

    不得不说C++的string类真的很好用,string类的字符串的比较跟strcmp的比较的标准差不多,这是网上的回答:


    “比较字符串是按照字符串中的字符一个个比较的 只要一个字符不相同 那么就停止比较得出结果

    而字符的比较则是比较其Unicode值 而非ascii码值 因为ASCII是不可能容纳下全世界这么多种语言这么多字符的”

    而strcmp():

    规则
    当s1<s2时,返回为负数;
    当s1=s2时,返回值= 0;
    当s1>s2时,返回正数。
    即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。如:
    "A"<"B" "a">"A" "computer">"compare"


    #include <iostream>
    #include <cstring>
    
    using namespace std;
    
    struct member{
       string name,timee;
       }minn,maxx;
    
    int main(){
        string s,mi,ma;
        int T,n;
        cin>>T;
        while(T--){
            cin>>n;
    
            n--;
            cin>>s>>minn.timee>>maxx.timee;
            minn.name=maxx.name=s;
            while(n--){
                cin>>s>>mi>>ma;
                if(mi<minn.timee){
                    minn.name=s;
                    minn.timee=mi;}
                if(ma>maxx.timee){
                    maxx.name=s;
                    maxx.timee=ma;}
            }
            cout<<minn.name<<" "<<maxx.name<<endl;
                }
        }
    
    
    
    

    如果不用字符串比较,那么就要把时间转换为整型

    b[i] = ( (a[i].begin[0] - '0' ) *10 +( a[i].begin[1] -'0')) * 3600 +    ((a[i].begin[3] - '0') *10 + (a[i].begin[4] -'0')) *60 +( (a[i].begin[6] - '0')*10 + (a[i].begin[7] -'0')) ;

    这样在struct数组结构体的基础上还要在定义数组成员,做起来就较麻烦了。(PS:还是要认真啊,开始在最大和最小初始化的时候写成minn.name=maxx.timee=s,因为大脑的思路是对的,所以因为笔误的错误花了很长时间找,敲的时候认真点)

  • 相关阅读:
    如何有效的遍历django的QuerySet
    python进程池剖析(三)
    python进程池剖析(二)
    python进程池剖析(一)
    条件变量signal与unlock的顺序
    智能指针与句柄类(四)
    解析正则 /(d)(?=(d{3})+.)/g
    原生JS实现增加删除class
    RN 热更新
    Windows下搭建IOS开发环境
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7256471.html
Copyright © 2011-2022 走看看