c++编译读入两个字符串s1和s2比较这两个字符串。若s1s2输出一个正数;若s1=s2输出0若s1s2输出一个负数。输出的非零值应该是相比较的两个字符串第-个不相同位置的字符ASCIl差值例如And和Aid比较根据第2个字的比较结果应输出5。要求不要使用strcpy和strcmp函数。输入两行字符串。保证每个字符串的长度不超过100。输出两个字符串的比较结果。请注意行尾输出换行。
#include
int main() { string s1, s2; cin >> s1 >> s2; int len1 = s1.length(); int len2 = s2.length(); int len = min(len1, len2); // 取两个字符串长度的较小值 int flag = 0; // 标记是否已经找到不同字符 for (int i = 0; i < len; i++) { if (s1[i] != s2[i]) { // 找到不同字符 flag = 1; cout << int(s1[i]) - int(s2[i]); // 输出差值 break; // 找到不同字符后直接跳出循环 } } if (flag == 0) { // 如果一直没有找到不同字符 cout << len1 - len2; // 输出长度差 } cout << endl; // 输出换行 return 0; }
原文地址: https://www.cveoy.top/t/topic/bUhV 著作权归作者所有。请勿转载和采集!