数组\数组模拟发牌——显示问题

简介: 数组\数组模拟发牌——显示问题

第七行的3,4,5,6代表的是ASCII码,所以会打出扑克牌上的标记

一些使用的win11的小伙伴可能会显示空格,我在下面给了解决方案

注:我用的编译器是vs2010

希望对同样遇到问题的小伙伴有一点帮助

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
 
//定义数组,限定长度
int card[13][4]={0};
const char kind[4]={3,4,5,6};   //字符集要用旧版的cmd显示,改法写在最后了
const char size[13]={'2','3','4','5','6','7','8','9','X','J','Q','K','A'};
 
//函数声明
void judge(int pnum,int sig);
 
int main()
{
  //定义变量
  int i,j,k;
  int sig=1;  //标记牌发给哪个玩家
  int total=52;
  srand(time(NULL));
  
  //发牌
  while(total)  //当牌发完
  {
    j=rand()%13;
    k=rand()%4;
    if(!card[j][k]) //每张牌只能发一次
    {
      card[j][k]=sig; //发过即给一个标记——玩家1为1,玩家2为-1
      sig=-sig;
      total--;    //轮换发牌
    }
  }
 
  //输出玩家1的牌面
  judge(1,1);
  printf("\n");
 
  //输出玩家2的牌面
  judge(2,-1);
 
  printf("\n");
  system("pause");
  return 0;
}
 
//函数定义
void judge(int pnum,int sig)
{
  int i,j;
  printf("玩家%d:\n",pnum);
  for(i=0;i<13;i++)
  {
    printf("%c:",size[i]);
    for(j=0;j<4;j++)
    {
      if(card[i][j]==sig)
        printf("%5c",kind[j]);
    }
    printf("\n");
  }
}
 
//以管理员身份打开cmd
//右击左上方>>属性>>选项>>使用旧版控制台(我的是win11,所以可能会出问题)
//把之前打开的关闭>>重开
//附:创建的时候如果是空项目可能看不到控制台,可以试试system函数>>输出也是没问题的


目录
相关文章
L2-033 简单计算器 (25 分)(栈模拟)
L2-033 简单计算器 (25 分)(栈模拟)
369 0
L2-033 简单计算器 (25 分)(栈模拟)
|
7月前
数组\OX游戏判断部分(数组+函数)
数组\OX游戏判断部分(数组+函数)
34 0
|
8月前
44.从键盘输入12个数存入二维数组a[3][4]中,编写程序求出最大元素的值及它所在的行号和列号
44.从键盘输入12个数存入二维数组a[3][4]中,编写程序求出最大元素的值及它所在的行号和列号
108 0
|
8月前
|
Python C++ Java
C/C++每日一练(20230405) 数组元素循环右移、输出字符图形、移除链表元素
C/C++每日一练(20230405) 数组元素循环右移、输出字符图形、移除链表元素
54 0
C/C++每日一练(20230405) 数组元素循环右移、输出字符图形、移除链表元素
|
算法
每日一题——数组中重复的数据
每日一题——数组中重复的数据
96 0
每日一题——数组中重复的数据
编写一个满足下面要求的程序:创建一个由100个随机选取的整数构成的数组 提示用户输入数组的下标,然后显示对应的元素值,如果指定的下标越界,则显示消息“Out of Bounds”
编写一个满足下面要求的程序:创建一个由100个随机选取的整数构成的数组 提示用户输入数组的下标,然后显示对应的元素值,如果指定的下标越界,则显示消息“Out of Bounds”
183 0
|
存储 算法 C++
每日算法刷题Day15-0到n-1中缺失的数字、调整数组顺序、从尾到头打印链表、用两个栈实现队列
>⭐每日算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,与笔者另一系列文章有所区别,并不是以知识点的形式提升算法能力,而是以实战习题的形式理解算法,使用算法。
93 0
每日算法刷题Day15-0到n-1中缺失的数字、调整数组顺序、从尾到头打印链表、用两个栈实现队列
(C语言)玩转for循环(利用for循环打印多种图形)利用指针操作数组以及多组输入去最大最小值之后求其平均值
(C语言)玩转for循环(利用for循环打印多种图形)利用指针操作数组以及多组输入去最大最小值之后求其平均值
L3-010 是否完全二叉搜索树 (30 分)(数组模拟)
L3-010 是否完全二叉搜索树 (30 分)(数组模拟)
101 0
L2-004 这是二叉搜索树吗? (25 分)(数组模拟)
L2-004 这是二叉搜索树吗? (25 分)(数组模拟)
126 0