天天看點

算法提高——字元串順序比較

問題描述

比較兩個字元串 s1 和 s2。

  • 輸出 0,表示 s1 與 s2 相等;
  • 輸出 1,表示 s1 的字母序先于 s2;
  • 輸出 -1,表示 s1 的字母序後于 s2

輸入格式

輸入兩行,第一行輸入一個字元串1,第二行輸入字元串2。

  

輸出格式

輸出比較的結果

  

樣例輸入1

abc

abd

樣例輸出1

1

樣例輸入2

English

English

樣例輸出2

樣例輸入3

hello

ha

樣例輸出3

-1

題解一:

#include <iostream>
#include <cstring>
using namespace std;

const int N = 10010;

char a[N], b[N];

int main()
{
	cin >> a >> b;
	
	cout << strcmp(b, a) << endl;
	return 0;
} 
           

題解二:

#include <iostream>
#include <cstring>
using namespace std;

const int N = 10010;

char a[N], b[N];

int main()
{
	string a, b;
	cin >> a >> b;
	
	if(a == b) cout << 0 << endl;
	else
	{
		for (int i = 0; i < min(a.size(), b.size()); i ++)
		{
			if(i == a.size() - 1) cout << 1 << endl;
			else if(i == b.size() - 1) cout << -1 << endl;
			else if(a[i] < b[i])
			{
				cout << 1 << endl;
				return 0;
			}
		}
	}
}