boby0577 2022-10-16 20:06 采纳率: 66.7%
浏览 22
已结题

关于#CI#的问题,如何解决?

一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 \text{ASCII}ASCII 码值大小比较),直到出现不同的字符或遇到\0为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:如果某个字符串遇到\0,而另一个字符串还未遇到\0,则前者小于后者)。

但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如Hello和hello在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。

输入
输入为两行,每行一个字符串,共两个字符串。(每个字符串长度都小于 8080)

输出
如果第一个字符串比第二个字符串小,输出一个字符<;

如果第一个字符串比第二个字符串大,输出一个字符>;

如果两个字符串相等,输出一个字符=。

样例
输入
Hello, how are you?
hello, How are you?
输出
=

#include<iostream>
/*#include<string.h>
#include<cstdio>
#include<algorithm>*/
using namespace std;
string s,s2;
int strcmp(string s1,string s2){
    if(s1.length()>s2.length())return 0x3f3f3f;
    if(s1.length()<s2.length())return -0x3f3f3f;
    for(int i=0;i<s1.length();i++){
        if(s1[i]<s2[i])return -0x3f3f3f;
        if(s1[i]>s2[i])return 0x3f3f3f;
    } 
    return 0;
}
int main(){
    getline(cin,s);
    getline(cin,s2);
    for(int i=0;i<s.length();i++){
        if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')s[i]=tolower(s[i]);
    }
    for(int i=0;i<s2.length();i++){
        if(s2[i]>='a'&&s2[i]<='z'||s2[i]>='A'&&s2[i]<='Z')s2[i]=tolower(s2[i]);
    }
    if(!strcmp(s,s2))cout<<'=';
    else if(strcmp(s,s2)<0)cout<<'<';
    else cout<<'>';
}

这个哪里错了?

  • 写回答

1条回答 默认 最新

  • X-道至简 2022-10-16 20:28
    关注

    是不是输出的时候 没有回车换行,格式不对导致提交错了

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月16日
  • 创建了问题 10月16日

悬赏问题

  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。
  • ¥15 带序列特征的多输出预测模型
  • ¥15 Python 如何安装 distutils模块
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?