编写程序:从键盘输入两个字符串分别存入字符数组s1和s2,比较两个字符串的大大小,如果s1>s2则返回1,相等则返回0,s1<s2则返回-1.要求:不能使用字符串处理函数strcmp。 注意:由于不确定输入字符的长度,因此,把数组s1.s2都定义成80个长度。输入格式样例1:abc aBc输出格式样例1:1 输入格式样例2:abc abc输出格式样例1:0 输入格式样例1:A ABC输出格式样例1:-1
时间: 2024-02-20 11:56:19 浏览: 63
下面是一个C++的实现,可以满足您的需求:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char s1[80], s2[80];
cin >> s1 >> s2;
int i = 0;
while (s1[i] != '\0' && s2[i] != '\0') {
if (s1[i] > s2[i]) {
cout << 1 << endl;
return 0;
} else if (s1[i] < s2[i]) {
cout << -1 << endl;
return 0;
}
i++;
}
if (s1[i] == '\0' && s2[i] == '\0') {
cout << 0 << endl;
} else if (s1[i] == '\0') {
cout << -1 << endl;
} else {
cout << 1 << endl;
}
return 0;
}
```
该程序首先使用`cin`从标准输入中读取两个字符串`s1`和`s2`,然后使用一个`while`循环按字符逐一比较两个字符串。在比较的过程中,如果出现`s1[i] > s2[i]`,那么`s1`大于`s2`,程序输出1并结束;如果出现`s1[i] < s2[i]`,那么`s1`小于`s2`,程序输出-1并结束。如果循环结束后`s1`和`s2`完全相同,则程序输出0;如果`s1`已经比`s2`短了,那么`s1`小于`s2`,程序输出-1;否则,`s1`长于`s2`,程序输出1。
阅读全文