用c++编写按字母顺序比较两个字符串ch1和ch2的大小,若相等,则输出0;否则输出其第一个不相等的字符的acsii编码差值。 输入 输入只有一组,首先在第一行上输入字符串ch1,然后在第二行输入字符串ch2,保证每个字符串长度不超过80。 输出 在一行上输出比较结果。若相等,则输出0;否则输出其第一个不相等的字符的acsii编码绝对差值。 难度 一般 输入示例 abcdefg abcdefh 输出示例 1
时间: 2023-06-14 14:06:00 浏览: 190
以下是C++代码实现:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char ch1[81], ch2[81];
cin >> ch1 >> ch2;
int len1 = strlen(ch1), len2 = strlen(ch2);
int len = min(len1, len2);
int i;
for (i = 0; i < len; i++) {
if (ch1[i] != ch2[i]) {
cout << int(ch1[i]) - int(ch2[i]) << endl;
return 0;
}
}
if (len1 == len2) {
cout << 0 << endl;
} else if (len1 > len2) {
cout << int(ch1[i]) << endl;
} else {
cout << -int(ch2[i]) << endl;
}
return 0;
}
```
首先我们定义两个字符串 `ch1` 和 `ch2`,然后使用 `cin` 输入两个字符串,使用 `strlen` 函数计算两个字符串的长度。接着我们使用 `min` 函数计算两个字符串的最小长度 `len`,遍历这个长度范围内的字符,如果两个字符不同,就输出它们的 ASCII 码差值。
如果前面的字符都相同,那么我们需要判断两个字符串长度的大小关系。如果两个字符串长度相等,那么它们就是相等的,输出 0;如果 `ch1` 的长度大于 `ch2`,那么说明 `ch2` 已经遍历完了,此时 `ch1` 还剩下一个字符,输出这个字符的 ASCII 码;如果 `ch1` 的长度小于 `ch2`,那么说明 `ch1` 已经遍历完了,此时 `ch2` 还剩下一个字符,输出这个字符的 ASCII 码的相反数。
阅读全文