有五个字符串,如何判断他们是否一样?

babala2009 2008-09-09 10:10:11
有五个字符串,如何判断他们是否一样?

例如
string s1 ="1...";
string s2 ="2...";
string s3 ="3...";
string s4 ="4...";
string s5 ="5...";

这五个字符串都不一样,结果应该为falase。如果一样就为true

什么方法最好,最快?
...全文
153 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
FireBirdCN 2008-09-09
  • 打赏
  • 举报
回复
搞那么复杂?
用集合类了都
顶1楼滴
简单明了
NIKE霸天虎 2008-09-09
  • 打赏
  • 举报
回复
1,3lou都可以,比较简单
zqh886 2008-09-09
  • 打赏
  • 举报
回复
一楼的可以,就是判断字符串之间是否相等就可以了
PDD123 2008-09-09
  • 打赏
  • 举报
回复
我觉得一楼的最好
haodingdang 2008-09-09
  • 打赏
  • 举报
回复
如果只判断两种情况:1、五个字符串都一样,2、五个字符串都不一样,程序如下:
CString s[5];
s[0] ="1...";
s[1] ="2...";
s[2] ="3...";
s[3] ="4...";
s[4] ="5...";
int same=0;
for(int i=0;i<4;i++)
{
for(int j=i+1;j<5;j++)
{
if(s[i]==s[j])
same++;
}
}
if(same==10)
return true;//五个字符串都一样
if(same==0)
return false;//五个字符串都不一样
yyunffu 2008-09-09
  • 打赏
  • 举报
回复
实际上,如果仅仅是判断是否全部相同,没必要搞那么复杂。

循环一遍就可以,如果有不同,肯定可以检查出来。
引力场变动源 2008-09-09
  • 打赏
  • 举报
回复
如果只要判断是否都一样的话,可以在每一次插入之后判断一下元素个数:
for(i=0;i<5;++i)
{
m_StrSet.insert(str[i]);
if(m_StrSet.size()>1)
return(false);//元素个数大于1,说明已经有不一样的元素了
}
引力场变动源 2008-09-09
  • 打赏
  • 举报
回复
2楼那个的想法其实可以进一步拓展的,利用标准库的set容器,因为set容器是会保证元素的唯一性的,所以只要把所有元素插入set,然后看一下set中有几个元素就可以了:
set<string> m_StrSet;
string str[5]={"...",......};
for(int i=0;i<5;++i)
{
m_StrSet.inster(str[i]);
}
if(m_StrSet.size==1)
{
//5个都相同
}
else
{
//5-m_SetSet个元素是重复的
}
yyunffu 2008-09-09
  • 打赏
  • 举报
回复
如果全部相同就是相同,否则就为false。
这个条件很简单,任取一个,和其他比较,如果出现不一致,肯定就是不同,否则就是相同。
THCNC 2008-09-09
  • 打赏
  • 举报
回复
LZ 是不是说都不一样为false,只要其中有2个一样,就为true,如果是这个意思,我的做法是:
CStringArray strArray;
strArray.Add( s1 );
strArray.Add( s2 );
strArray.Add( s3 );
strArray.Add( s4 );
strArray.Add( s5 );
int i, j, nSize, bFind = FALSE;
nSize = strArray.GetSize();
for( i = 0; i < nSize - 1; i ++ )
{
  for( j = i + 1; j < nSize; j ++ )
  {
    if( strArray.GetAt( i ) == strArray.GetAt( j ) )
    {
      bFind = TRUE;
      break;
    }
  }
  if( bFind )break;
  
}

return bFind;
starytx 2008-09-09
  • 打赏
  • 举报
回复
if(s1==s2 && s2==s3 && s3==s4 && s4==s5)
return true;
else
return false;

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧