zoukankan      html  css  js  c++  java
  • AC日记——忽略大小写的字符串比较 openjudge 1.7 16

    16:忽略大小写的字符串比较

    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

    一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到''为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:如果某个字符串遇到''而另一个字符串还未遇到'',则前者小于后者)。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"Hello"和"hello"在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。

    输入
    输入为两行,每行一个字符串,共两个字符串。(每个字符串长度都小于80)
    输出
    如果第一个字符串比第二个字符串小,输出一个字符"<";
    如果第一个字符串比第二个字符串大,输出一个字符">";
    如果两个字符串相等,输出一个字符"="。
    样例输入
    Hello, how are you?
    hello, How are you?
    样例输出
    =
    来源
    计算概论05

    思路:

      大模拟;

    代码:

    #include<cstdio>
    #include<string>
    #include<cstring>
    
    using namespace std;
    
    int ans_flag=1,len_1,len_2;
    
    char word_1[81],word_2[81];
    
    inline char char_(char char__)
    {
        if(char__>='a'&&char__<='z') char__-=32;
        return char__;
    }
    
    int main()
    {
        gets(word_1);
        gets(word_2);
        len_1=strlen(word_1),len_2=strlen(word_2);
    /*    if(len_1<len_2)
        {
            printf("<
    ");
            return 0;
        }
        else
        {
            if(len_1>len_2)
            {
                printf(">
    ");
                return 0;
            }
        }*/
        for(int i=0;i<80;i++) word_1[i]=tolower(word_1[i]);
        for(int i=0;i<80;i++) word_2[i]=tolower(word_2[i]);
        ans_flag=strcmp(word_1,word_2);
        if(ans_flag>0) printf(">
    ");
        else if(ans_flag<0) printf("<
    ");
        else printf("=
    ");
        return 0;
    }
  • 相关阅读:
    2015 8月 做题记录
    Nim及SG函数
    CodeForces
    CF 546E(最大流
    CF 544E(状压
    树形DP
    HDU 4173(计算几何
    HDU 4081(最小生成树
    codeforeces 540E(树状数组
    Linux nginx安装
  • 原文地址:https://www.cnblogs.com/IUUUUUUUskyyy/p/6105032.html
Copyright © 2011-2022 走看看