宇宙总统 C/C++

2020-08-09 14:48发布

问题:


代码如下

include<iostream>

include<cstring>

using namespace std;

struct Prisdent
{
int number;
string poll;
};

struct Prisdent prisdent[21];

int main()
{
int n;

cin >> n;
for(int i = 1; i <= n; i++)
{
	cin >> prisdent[i].poll;
	prisdent[i].number = i;
}

P = prisdent[1];
for(int i = 1; i <= n-1; i++)
	for(int j = 1; j <= n-i; j++)
	{
		if(prisdent[j].poll > prisdent[j+1].poll)
			swap(prisdent[j], prisdent[j+1]);
	}

cout << prisdent[1].number << endl << prisdent[1].poll << endl;
return 0;

}

样例过了,但是 WA 了 3 个,不清楚为什么,求教,谢谢!

回答1:

问题出在 string字符串之间的运算符“>”,大于号并不能实现理想中的字符串大小比较(长度等等因素会造成影响),我测试了一下>的情况,下面这张图片就是一个很好例子;