原题链接:蓝桥杯算法提高VIP-扑克排序
解题思路:注意事项:参考代码:
#include <stdio.h>
#include <stdlib.h>
typedef enum bee {
d=3,
c,
h,s
} huaSe;
typedef enum see {
i2=2,
i3,i4,i5,i6,i7,i8,i9,
i10=10,J,Q,K,A
} shuZi;
typedef struct {
huaSe ss;//数字
shuZi bs;//花色
char tm[5];
} pai;
int check(const void *,const void *);
int main(int argc, char** argv) {
pai ar[5]= {0};
char tmp[16];
pai *par,*bar;
char *p;
scanf("%s",tmp);
par=ar,p=tmp;
bar= ar ;
while(*p!='\0') {
switch(*p)
{
case '1':
par->ss=i10;
par->tm[0]='1';
par->tm[1]='0';
p+=2;
par++;
break;
case '2':
par->ss=i2;
par->tm[0]='2';
p++;
par++;
break;
case '3':
par->ss=i3;
par->tm[0]='3';
p++;
par++;
break;
case '4':
par->ss=i4;
par->tm[0]='4';
p++;
par++;
break;
case '5':
par->tm[0]='5';
par->ss=i5;
p++;
par++;
break;
case '6':
par->tm[0]='6';
par->ss=i6;
p++;
par++;
break;
case '7':
par->tm[0]='7';
par->ss=i7;
p++;
par++;
break;
case '8':
par->tm[0]='8';
par->ss=i8;
p++;
par++;
break;
case '9':
par->tm[0]='9';
par->ss=i9;
p++;
par++;
break;
case 'J':
par->tm[0]='J';
par->ss=J;
p++;
par++;
break;
case 'Q':
par->tm[0]='Q';
par->ss=Q;
p++;
par++;
break;
case 'K':
par->tm[0]='K';
par->ss=K;
p++;
par++;
break;
case 'A':
par->tm[0]='A';
par->ss=A;
p++;
par++;
break;
case 'd':
if(bar->tm[0]!='1')
bar->tm[1]='d';
else
bar->tm[2]= 'd';
bar->bs=d;
bar++;
p++;
break;
case 'c':
if(bar->tm[0]!='1')
bar->tm[1]='c';
else
bar->tm[2]= 'c';
bar->bs=c;
bar++,p++;
break;
case 's':
if(bar->tm[0]!='1')
bar->tm[1]='s';
else
bar->tm[2]= 's';
bar->bs=s;
bar++,p++;
break;
case 'h':
if(bar->tm[0]!='1')
bar->tm[1]='h';
else
bar->tm[2]= 'h';
bar->bs=h;
bar++,p++;
break;
}
}
qsort(ar,5,sizeof(pai),check);
for(int j=0; j<5; j++)
printf("%s ",ar[j].tm);
return 0;
}
int check(const void *a,const void *b) {
if(((pai *)a)->ss==((pai *)b)->ss) {
return ((pai *)a)->bs-((pai *)b)->bs;
}
return ((pai *)a)->ss-((pai *)b)->ss;
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复