解题思路:
给扑克牌标记
注意事项:
参考代码:
#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 人评分
母牛的故事 (C语言代码)浏览:671 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:468 |
【绝对值排序】 (C语言代码)浏览:717 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:609 |
字符串问题 (C语言代码)浏览:1522 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:547 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:449 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:813 |
有关字符,字符串的输入输出函数说明浏览:479 |
模拟计算器 (C++代码)浏览:807 |