当前位置: 代码迷 >> PB >> 请帮看看哪里出了有关问题,题目是比较两字符串的字符和长度是否相同,相同就输出“Equal”否则“Unequal”
  详细解决方案

请帮看看哪里出了有关问题,题目是比较两字符串的字符和长度是否相同,相同就输出“Equal”否则“Unequal”

热度:197   发布时间:2016-04-29 08:19:18.0
请帮看看哪里出了问题,题目是比较两字符串的字符和长度是否相同,相同就输出“Equal”否则“Unequal”
#include<iostream>
#include<string.h >
using namespace std;
int main()
{
char str1[100],str2[100];
cout<<"输入字符串str1,str2"<<endl;
cin>>str1>>str2;
int i,j,m;
for(i=0;i<strlen(str1),i<strlen(str2);i++)
{
  if(str1[i]==str2[i])
  m=0;
  else m=1;
  cout<< "Unequal"<<endl;
  break;
  }
  if(m=0)
  {
  if(sizeof(str1)==sizeof(str2))
  cout<<"Equal"<<endl;
  }
  return 0;
}

------解决方案--------------------
C/C++ code
#include<iostream>#include<string.h >using namespace std;int main(){    char str1[100],str2[100];    cout<<"输入字符串str1,str2"<<endl;    cin>>str1>>str2;    int i,j,m;    for(i=0;i<strlen(str1),i<strlen(str2);i++)    {        if(str1[i]==str2[i])            m=0;        else         {             //加大括号            m=1;            cout<< "Unequal"<<endl;            break;        }    }    if(m==0)   //==    {        if(sizeof(str1)==sizeof(str2))            cout<<"Equal"<<endl;    }    return 0;}
------解决方案--------------------
先比较长度是否相同,再比较字符是否一致
------解决方案--------------------
而且求字符串的长度,不是sizeof
------解决方案--------------------
[code=C/C++][/code]#include<iostream>
#include<string.h >
using namespace std;
int main()
{
char str1[100],str2[100];
cout<<"输入字符串str1,str2"<<endl;
cin>>str1>>str2;
int i,m;
for(i=0;i<strlen(str1),i<strlen(str2);i++)
{
if(str1[i]==str2[i])
m=0;
else 
{
m=1;
cout<< "Unequal"<<endl;
break;
}
}
if(m==0)
{
if(sizeof(str1)==sizeof(str2))
cout<<"Equal"<<endl;
}
system("pause");
return 0;
}
------解决方案--------------------
为什么不用strcmp这个函数,不允许用么?
C/C++ code
#include <stdio.h>#include <string.h>int main(){    char a[100],b[100];    scanf("%s",a);    scanf("%s",b);    if (strcmp(a,b)==0)    {        printf("Equal\n");    }     else    {        printf("Unequal\n");    }    return 0;}
------解决方案--------------------
C/C++ code
#include<iostream>#include<string.h >using namespace std;int main(){  char str1[100],str2[100];  cout<<"输入字符串str1,str2"<<endl;  cin>>str1>>str2;  int i,j,m;// i<strlen(str1),i<strlen(str2)的话只会返回i<strlen(str2)的结果,如果输入的str1比str2短就会出问题// c++的string类计算长度用length()成语函数,sizeof这里不好用了~  for(i=0;i<str1.length()&&i<str2.length();i++)     {    if(str1[i]==str2[i])    m=0;    else    {  // 别忘了大括号    m=1;    cout<< "Unequal"<<endl;    break;    }  }// 在循环外面检测是否长度相等  if(m=0)  {    if(str1.length()==str2.length())    cout<<"Equal"<<endl;  }  return 0;}
  相关解决方案