果冻公会吧 关注:25贴子:159
  • 7回复贴,共1

忽略比较字符串大小

只看楼主收藏回复

#include<iostream>
using namespace std;
main()
{
char s1[80],s2[80];
int result;
cin.getline(s1,80);
cin.getline(s2,80);
int i=0;
/*先把大写统一转小写*/
while (s1[i]!=*\0*)
{
if((s1[i]>=*A*)&&(s1[i]<=*Z*)) s1[i]=s1[i]+32;
i++;
}
i=0;
while (s2[i]!=*\0*)
{
if((s2[i]>=*A*)&&(s2[i]<=*Z*)) s2[i]=s2[i]+32;
i++;
}
result=strcmp(s1,s2);
if(result==0) cout<<"="<<endl;
else if(result>0) cout<<">"<<endl;
else cout<<"<"<<endl;
return 0;
}


1楼2014-11-12 17:49回复
    请问,同学,你是要问什么 问题呢?


    2楼2014-11-13 00:50
    收起回复
      2026-01-30 11:55:41
      广告
      不感兴趣
      开通SVIP免广告
      错误一:CompileError : 2157725.38680/Main.cc: In function ‘int main()’: 2157725.38680/Main.cc:22:21: error: ‘strcmp’ was not declared in this scope这句话是说strcmp()函数没有声明,需要在最前面声明一下
      #include <string.h>
      错误二:你主函数是main(){},应该写成规范的int mian(){}
      错误三:你那个类似于while (s1[i]!=*\0*)这里面不能用*\0*,要用单引号‘\0’,下面的也是要用单引号,改正之后
      #include<iostream>
      #include <string.h>
      using namespace std;
      int main()
      {
      char s1[80], s2[80];
      int result;
      cin.getline(s1, 80);
      cin.getline(s2, 80);
      int i = 0;
      /*先把大写统一转小写*/
      while (s1[i] != *\0* )
      {
      if ((s1[i] >= *A*) && (s1[i] <= *Z*))
      s1[i] = s1[i] + 32;
      i++;
      }
      i = 0;
      while (s2[i] != *\0* )
      {
      if ((s2[i] >= *A*) && (s2[i] <= *Z*)) s2[i] = s2[i] + 32;
      i++;
      }
      result = strcmp(s1, s2);
      if (result == 0)
      cout << "=" << endl;
      else if (result>0)
      cout << ">" << endl;
      else
      cout << "<" << endl;
      return 0;
      }


      3楼2014-11-13 21:54
      回复
        谢谢啦。嘿嘿


        4楼2014-11-13 21:58
        回复
          对了。我的代码本来不是**是* *的。


          5楼2014-11-13 22:00
          收起回复