如何在c++中比较多个字符串
how do you compare multiple strings in C++
我正在做一个硬件任务,我在这部分卡住了。代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
using namespace std;
std::string stringSmallest(std::string s1, std::string s2, std::string s3, std::string s4, std::string s5 );
int main(int argc, char)
{
std::string sSmallest = stringSmallest("hi", "wassup", "hello", "good","bye");
printf("strings: %i", sSmallest);
std::cin.get();
return 0;
}
std::string stringSmallest(std::string s1, std::string s2, std::string s3, std::string s4, std::string s5 ){
std::string strSmallest = 0;
if (strSmallest.compare(s1)<0)
strSmallest = s1;
if (strSmallest.compare(s2)<0)
strSmallest = s2;
if (strSmallest.compare(s3)<0)
strSmallest = s3;
if (strSmallest.compare(s4)<0)
strSmallest = s4;
if (strSmallest.compare(s5)<0)
strSmallest = s5;
return strSmallest;
}
我想做的是用最小的字符串创建一个字符串。
试试这个
std::string stringSmallest(std::string s1, std::string s2, std::string s3, std::string s4, std::string s5 )
{
std::string strSmallest = s1;
if (strSmallest.compare(s2)>0)
strSmallest = s2;
if (strSmallest.compare(s3)>0)
strSmallest = s3;
if (strSmallest.compare(s4)>0)
strSmallest = s4;
if (strSmallest.compare(s5)>0)
strSmallest = s5;
return strSmallest;
}
相关文章:
- 为什么字符串比较的 == 运算符相对于任一字符串长度线性时间(似乎)?
- 字符串比较中的意外输出
- 如何执行不区分大小写的字符串比较?
- 使用 getline(cin, var) 两次在进行字符串比较时会产生错误 (==)
- <<运算符优先级与字符串比较
- ">"运算符和"<"运算符如何进行字符串比较?
- Qt C++11 字符串通过子字符串比较列出交集
- std::out_of_range字符串比较中的异常
- 我正在尝试从输入文件中读取,然后使用它们的子字符串比较字符串的特定部分
- 字符* 与uint8_t的字符串比较
- 用字符串 c++ 比较对向量的元素
- 使用循环进行词典字符串比较
- 如何为C++映射创建自己的字符串比较对象
- 不带比较()的字符串比较
- 与 IF 语句C++的字符串比较?
- 字符串比较在与变量一起使用时给出不同的输出
- 更快的字符串比较排序,用于唯一()
- C 字符串比较“祝您好运”&gt;“再见”
- C 奇怪的行为和字符串比较
- 子字符串与 std::memcmp 或字符串::比较的比较