| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 811 人关注过本帖
标题:嗯嗯
只看楼主 加入收藏
马洁
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-3-6
结帖率:100%
  已结贴   问题点数:20  回复次数:11   
嗯嗯
嗯嗯

[此贴子已经被作者于2018-3-13 16:24编辑过]

2018-03-11 19:01
马洁
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-3-6
  得分:0 
回复 楼主 马洁
嘻嘻嘻大家帮帮我嘿嘿嘿
2018-03-11 19:02
马洁
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-3-6
  得分:0 
是第二题啦~第一题忘记截图了~
2018-03-11 19:03
李晨经纪人
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:175
专家分:848
注 册:2018-2-14
  得分:20 
我这个代码只能识别顺子、四代一和三带二,不能识别对子。
程序代码:
#include <stdio.h>
#include<time.h>
#include<windows.h>
#include<stdlib.h>
int cards[20];      
void showcards(int i,int j);
int bullpoint(int m,int n);
int main(void)
{
    int i,m,n,c1,c2;
    int flag[4][13]={0};
    srand((unsigned)time(NULL));
    for(i=0;i<20;i+=2)
    {
        do
        {
            m=rand()%4+13;      
            n=rand()%13;         
        }                        
        while(flag[m-13][n]);
        cards[i]=m;
        cards[i+1]=n;
        flag[m-13][n]=1;
    }
    printf("我的牌是:");
    showcards(0,9);      
    putchar(10);
    printf("你的牌是:");
    showcards(10,19);   
    c1=bullpoint(1,9);
    c2=bullpoint(11,19);
    putchar(10);
    if(c1>c2)
    {
        if(c1>=3*13)                                 //用13进制的十位表示那种牌,个位表示这个顺子到几、三个几、四个几
            printf("顺子我赢!");
        else
            if(c1>=2*13)
                printf("四带一我赢!");
            else
                if(c1>=13)
                    printf("三带二我赢!");
                else
                    printf("我赢!");
    }
    else
    if(c1<c2)
    {
        if(c2>=3*13)
            printf("顺子你赢!");
        else
            if(c2>=2*13)
                printf("四带一你赢!");
           else
               if(c2>=13)
                   printf("三带二你赢!");
               else
                   printf("你赢!");
    }
    else
        printf("平手!");
    putchar(10);
    return 0;
}
void showcards(int i,int j)
{
    int ii;
    for(ii=i;ii<=j;++ii)
    {
        if(cards[ii]==13)
            putchar(3);
        if(cards[ii]==14)
            putchar(6);
        if(cards[ii]==15)
            putchar(4);
        if(cards[ii]==16)
            putchar(5);
        if(cards[ii]<9)
            printf("%d ",cards[ii]+2);
        if(cards[ii]==9)
            printf("J ");
        if(cards[ii]==10)
            printf("Q ");
        if(cards[ii]==11)
            printf("K ");
        if(cards[ii]==12)
            printf("A ");        
    }
}
int bullpoint(int m,int n)
{
    int i,j,t,point1,point2,count1=1;
    for(i=m;i<=n;i+=2)                  
    {
        for(j=i+2;j<=n;j+=2)
        {
            if(cards[i]<cards[j])
            {
                t=cards[i];
                cards[i]=cards[j];
                cards[j]=t;
            }
        }
    }
    for(i=m;i<=n-2;i+=2)           //顺子 如果cards[i-1]和后面的cards[i+1]、cards[i31]这些再相比较可以得出是不是同花顺或是同花
    {
        if(cards[i]-1!=cards[i+2])
            break;
    }
    if(i==n)
    {
        point1=3;
        point2=cards[m]-4;
    }
    for(i=m;i<=n-2;i+=2)       //两种牌(四带一、三带二)    如果是三种牌(三带一带一、两对)
    {
        if(cards[i]!=cards[i+2])
            count1++;
    }
    if(count1==2)
    {
        if(cards[m+2]==cards[m+4]&&cards[m+4]==cards[m+6])
        {
            point1=2;
            point2=cards[m+2];
        }
        else
            if(cards[m+2]==cards[m+4])
            {
                point1=1;
                point2=cards[m];
            }
            else
            {
                point1=1;
                point2=cards[m+6];
            }
    }
    else
    {
        point1=0;
        point2=cards[m];
    }
    return (point1*13+point2);
}


[此贴子已经被作者于2018-3-12 08:03编辑过]

2018-03-11 23:11
李晨经纪人
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:175
专家分:848
注 册:2018-2-14
  得分:0 
要识别对子,还要分一对还是2对,再比对子的大小。估计也能写,不过题目没有要求,我就偷懒了
2018-03-11 23:21
马洁
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-3-6
  得分:0 
哇!!!!!!!!!!!!!!!1你太好了吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
谢谢您!!!!!!!!!!!!!!!!!!!!
过分帅气咯!!!!!!!!!!!!!!!!!!!!!
2018-03-12 19:29
Jeyyion_han
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:207
专家分:301
注 册:2018-1-22
  得分:0 
老师留的作业,还是自己先思考下。
2018-03-12 19:44
Jeyyion_han
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:207
专家分:301
注 册:2018-1-22
  得分:0 
老师留的作业,还是自己先思考下。
2018-03-12 19:44
马洁
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-3-6
  得分:0 
辛苦啦~
存到文件里的我自己来吧~
可以给我备注下每一步是干什么的咩~我新手有些地方不太清楚啦~
2018-03-12 19:49
马洁
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-3-6
  得分:0 
回复 7楼 Jeyyion_han
好的  谢谢您
2018-03-12 19:50







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029766 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved