蓝杯二十五

作者: 逍遥_9353 | 来源:发表于2018-01-21 19:56 被阅读24次

/* 算法提高 12-2扑克排序  时间限制:1.0s  内存限制:256.0MB提交此题    问题描述  扑克牌排序:构造扑克牌数组,对扑克牌进行排序。排序原则如下:数字从小到大是2-10、J、Q、K和A,花色从小到大是方块(diamond)、梅花(club)、红桃(heart)、黑桃(spade)。两张牌比较时先看数字,数字相同时看花色。要求对输入的扑克牌进行从小到大排序。  输入五张牌(表示黑桃2、红桃3、黑桃3、方块A和梅花J): 2 s 3 h 3 s A d J c  输出结果应为:2 s 3 h 3 s J c A d数组长度固定为5。样例输出与上面的样例输入对应的输出。例:数据规模和约定  输入数据中每一个数的范围。*/

#include<iostream> 

#include<algorithm> 

#include<string.h> 

using namespace std; 

char num[15]={0,0,'2','3','4','5','6','7','8','9','10','J','Q','K','A'}; 

char h[6]={0,0,'d','c','h','s'}; 

int f_m(char ch)  {   

int i,j;     

for (i=2;i<15;i++)      {       

  if (num[i] == ch)          {           

return i;          }      }  }

int f_n(char ch)  {     

int i,j;   

for (i=2;i<6;i++)      {       

if (h[i]==ch)         

return i;      }  }

int main()  {   

char a[15],ch;   

int i,j;     

cin>>a;     

for (i=0;i<8;i+=2)      {         

for (j=i+2;j<=8;j+=2)          {             

if (f_m(a[i]) > f_m(a[j]))              {               

ch=a[i];               

a[i]=a[j];               

a[j]=ch;                 

ch=a[i+1];                 

a[i+1]=a[j+1];               

a[j+1]=ch;              }             

else if (f_m(a[i]) == f_m(a[j]))              {               

if (f_n(a[i+1]) > f_n(a[j+1]))                  {                   

  ch=a[i+1];                   

  a[i+1]=a[j+1];                   

  a[j+1]=ch;                   

  ch=a[i];                   

  a[i]=a[j];                 

  a[j]=ch;               

  }              }          }      }   

  for (i=0;i<10;i+=2)      {         

cout<<a[i]<<a[i+1]<<" ";      }     

return 0;  } 

蓝杯二十五 蓝杯二十五 蓝杯二十五 蓝杯二十五

相关文章

  • 蓝杯二十五

    /* 算法提高 12-2扑克排序 时间限制:1.0s 内存限制:256.0MB提交此题 问题描述扑克牌排序:构...

  • 蓝杯二十

    /*数的读法 问题描述Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万...

  • 蓝杯十八

    /*矩形面积交 问题描述平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对...

  • 蓝杯四十

    算法训练 统计单词个数 时间限制:1.0s 内存限制:256.0MB 问题描述 给出一个长度不超过200...

  • 蓝杯十二

    一、/*分糖果 问题描述有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都...

  • 蓝杯九

    /*阶乘计算 问题描述 输入一个正整数n,输出n!的值。其中n!=1*2*3*…*n。算法描述n!可能很大,而计算...

  • 蓝杯十三

    一、/*打印下述图案问题描述使用循环结构打印下述图形,打印行数n由用户输入。打印空格时使用"%s"格式,向prin...

  • 蓝杯十五

    /*买不到的题目问题描述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋...

  • 蓝杯六

    一、/*所有水仙花数 问题描述 打印所有100至999之间的水仙花数。所谓水仙花数是指满足其各位数字立方和为该数字...

  • 蓝杯八

    一、/*最大最小值 问题描述给定 N 个整数,请你找出这 N 个数中最大的那个和最小的那个。 输入格式第一行包含一...

网友评论

    本文标题:蓝杯二十五

    本文链接:https://www.haomeiwen.com/subject/jhpqaxtx.html