按字母顺序比较两个由英文字母构成的字符串ch1和ch2的大小(其中,字符串的长度不超过20),若相等,则输出0;否则输出其第一个不相等的字符的acsii编码差值(输出时,末尾不带换行符)。c++
时间: 2024-12-08 16:15:14 浏览: 18
在C++中,你可以使用`std::string`的内置函数来比较两个字符串,并通过循环找到第一个不相等的字符。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
int compareStrings(const std::string& ch1, const std::string& ch2) {
int minLen = std::min(ch1.size(), ch2.size());
for (size_t i = 0; i < minLen; ++i) {
if (ch1[i] != ch2[i]) {
// 输出ASCII编码的差值
return static_cast<int>(ch1[i]) - static_cast<int>(ch2[i]);
}
}
// 如果所有字符都相等,但长度不同
if (ch1.size() != ch2.size()) {
return ch1.size() > ch2.size() ? 1 : -1;
}
// 字符串完全相等
return 0;
}
int main() {
std::string ch1 = "example";
std::string ch2 = "exampl";
int result = compareStrings(ch1, ch2);
if (result != 0) {
std::cout << result;
} else {
std::cout << "0" << std::endl;
}
return 0;
}
```
这个程序首先确定两个字符串中最短的那个,然后逐个比较它们的字符。一旦发现不同的字符,就返回它们的ASCII码之差。如果两个字符串完全相等但长度不同,根据最长的那个字符串更大,我们返回1或-1。如果所有字符都相等,最后会输出0。
阅读全文