C++ 定义两个字符数组,输入两个长度相同的字符串,要求 利用 cin 、if 、for循环语句 首先编程求出字符串长度,随后将两字符串对应元素相减,求出对位元素的ASCII码差值并输出。 如字符串1 ”abcd“和字符串”ABCD“,长度均为4,对位元素差值分别为32、32、32、32。
时间: 2023-06-02 19:06:32 浏览: 108
我理解了您的要求,可以为您回答这个问题。
以下是 C++ 代码:
```cpp
#include <iostream>
using namespace std;
int main() {
const int len = 100;
char str1[len], str2[len];
int len1 = 0, len2 = 0;
cout << "Please input the first string: ";
cin >> str1;
cout << "Please input the second string: ";
cin >> str2;
for (int i = 0; str1[i] != '\0'; i++) {
len1++;
}
for (int i = 0; str2[i] != '\0'; i++) {
len2++;
}
if (len1 != len2) {
cout << "Error: the length of the two strings are not equal." << endl;
return 0;
}
for (int i = 0; i < len1; i++) {
int diff = str1[i] - str2[i];
cout << diff << " ";
}
cout << endl;
return 0;
}
```
代码解释:
1. 定义两个字符数组 `str1` 和 `str2`,长度都为 `len`,这里设为 100。
2. 通过 `cin` 输入两个字符串。
3. 利用 `for` 循环求出两个字符串的长度 `len1` 和 `len2`。
4. 判断两个字符串的长度是否相等,如果不相等,输出错误信息并退出程序。
5. 在一个 `for` 循环中,对两个字符串的每个对位元素做差,把差值输出。注意,我们用 `str1[i] - str2[i]` 来求出对位元素的差值,这就是 ASCII 码值的差值。
6. 程序结束。
这里我们用了 `const` 关键字来声明 `len` 变量,表示这个变量的值不会改变,这样可以避免意外修改变量的值。