as


私信TA

用户名:asas

访问量:2509

签 名:

asas

等  级
排  名 480
经  验 4535
参赛次数 5
文章发表 3
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:
给扑克牌标记
注意事项:

参考代码:

                

#include<stdio.h>

#include<string.h>

struct 

{

     char nu[3];

     char lei;

     int num;

     int n1;

}Pai[5],t;

int main()

{

     char buf[100];

     int i=0,j;

     gets(buf);

     for(j=0;j<5;j++)

     {

         if(buf[i]!='1')

         {

             if(buf[i]>='2'&&buf[i]<='9')

             Pai[j].num=buf[i]-'0';

         else 

         {

             if(buf[i]=='J') Pai[j].num=11;

             if(buf[i]=='Q') Pai[j].num=12;

             if(buf[i]=='K') Pai[j].num=13;

             if(buf[i]=='A') Pai[j].num=14;

         }

             Pai[j].nu[0]=buf[i++];

             Pai[j].nu[1]='\0';

         }

         else 

         {

             Pai[j].nu[0]=buf[i++];

             Pai[j].nu[1]=buf[i++];

             Pai[j].nu[2]='\0';

             Pai[j].num=10;

         }

         switch(buf[i])

         {

             case 'd':Pai[j].n1=1;break;

             case 'c':Pai[j].n1=2;break;

             case 'h':Pai[j].n1=3;break;

             case 's':Pai[j].n1=4;break;

         }

            Pai[j].lei=buf[i++];

     }

     for(i=0;i<5;i++)

     {

         for(j=0;j<5-1-i;j++)

         {

             if(Pai[j].num>Pai[j+1].num)

             {

                 t=Pai[j];

                 Pai[j]=Pai[j+1];

                 Pai[j+1]=t;

             }

             else if(Pai[j].num==Pai[j+1].num)

             {

                 if(Pai[j].n1>Pai[j+1].n1)

                 {

                     t=Pai[j];

                     Pai[j]=Pai[j+1];

                     Pai[j+1]=t;

                 }

             }

         } 

     }

     for(j=0;j<5;j++)

     {

         if(j!=0) printf(" ");

         printf("%s%c",Pai[j].nu,Pai[j].lei);

     }

return 0;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区