c/c++基础代码,求解答

#include<iostream>
#include<cstring>
using namespace std;
int main(void)
{
    int n;
    cin>>n;
    char a[100000];
    cin>>a;
    char b[100000];
    cin>>b;
    if(strcmp(a,b)==0)
    {
        for(int i=1;i<n-1;i++)
       {
        char c[100000];
        if(strcmp(a,c)!=0)
        cout<<c;
       }
    }
    else
    {
        for(int i=1;i<n-1;i++)
       {
        char c[100000];
        if(strcmp(a,c)==0)
        cout<<b;
        else
        cout<<a;
       }
    } 
}

问题描述
Description
给你n串字符串,其中有一串和其它串不同。你能找出来吗?

Input
第一行一个整数n。(n >= 3)
下面有n串字符串。(保证只有一串与其它不同)

Output
输出不同的串

Sample Input
3
a a b
Sample Output
b

为什么我的代码跑不出来结果,求解答


#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() {
    int n;
    cin>>n;
    string s[100000] = {""};
    for(int i = 0; i < n; i++) {
        cin >> s[i];
    }
    sort(s,s+n);
    if(s[0] == s[1]) cout << s[n-1];
    else cout << s[0];
    return 0;
}

有帮助记得采纳哟

不要用cin读取字符串,它遇到空格就会停止读取
换成gets

img