另一个 c#编程题,请兄弟进链接查看文本,会的留下代码,输入输出得一致,感谢

链接: https://pan.baidu.com/s/1aY9BkdC2RmBjlS9YIMROtw

提取码: pqie 

using System;
using System.Linq;


    class Card
    {
        public int rank;
        public char suit;
        public string str;
        public Card(string s)
        {
            char[] ch = s.ToArray();
            for (int i = 0; i < ch.Length - 1; i++)
            {
                str += string.Format("{0}", ch[i]);
            }
            suit = ch[ch.Length - 1];
            if (str == "J")
            {
                rank = 11;
            }
            else if (str == "Q")
            {
                rank = 12;
            }
            else if (str == "K")
            {
                rank = 13;
            }
            else if (str == "A")
            {
                rank = 14;
            }
            else
            {
                rank = int.Parse(str);
                if (rank == 1)
                {
                    rank = 14;
                }
            }
        }
    }

    class Hand
    {
        public Card[] cd;
        public Hand(string s)
        {
            string[] str = s.Split(' ');
            cd = new Card[str.Length];
            for (int i = 0; i < str.Length; i++)
            {
                cd[i] = new Card(str[i]);
            }

        }

        public int compare(Hand h)
        {
            int flag = 0, flag1 = 0;
            int max = 0,max1 = 0;
            int tmp = 0, tmp1 = 0;
            for (int i = 0; i < 4; i++)
            {
                int count = 0, count1 = 0;
                for (int j = i + 1; j < 5; j++)
                {
                    if (cd[i].rank == cd[j].rank)
                    {
                        count++;
                        tmp = cd[i].rank;
                }
                if (h.cd[i].rank == h.cd[j].rank)
                    {
                        count1++;
                        tmp1 = h.cd[i].rank;
                }
                }
                if (count > flag)
                {
                    flag = count;
                    max = tmp;
                }
            if (count1 > flag1)
                {
                    flag1 = count1;
                    max1 = tmp1;
                }
            }
            if (flag == 0)
            {
                for (int i = 0; i < 5; i++)
                {
                    if (cd[i].rank > max)
                    {
                        max = cd[i].rank;
                    }
                }
            }
            if (flag1 == 0)
            {
                for (int i = 0; i < 5; i++)
                {
                    if (h.cd[i].rank > max1)
                    {
                        max1 = h.cd[i].rank;
                    }
                }
            }
            if (flag > flag1)
            {
                return 1;
            }
            else if (flag < flag1)
            {
                return -1;
            }
            else
            {
                if (max > max1)
                {
                    return 1;
                }
                else if (max < max1)
                {
                    return -1;
                }
                else
                {
                    return 0;
                }
            }
        }
    }