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

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

第七行的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函数>>输出也是没问题的


目录
相关文章
|
9月前
|
算法
arr = [1,2,5,8,9,10,20,30,40] 有一个从小到大排序好的数组,现在输入一个数,要求按照原来的规律插入到数组中
arr = [1,2,5,8,9,10,20,30,40] 有一个从小到大排序好的数组,现在输入一个数,要求按照原来的规律插入到数组中
|
9天前
数组\OX游戏判断部分(数组+函数)
数组\OX游戏判断部分(数组+函数)
13 0
|
1月前
|
Python C++ Java
C/C++每日一练(20230405) 数组元素循环右移、输出字符图形、移除链表元素
C/C++每日一练(20230405) 数组元素循环右移、输出字符图形、移除链表元素
26 0
C/C++每日一练(20230405) 数组元素循环右移、输出字符图形、移除链表元素
【LeetCode】错误的集合&&在排序数组中查找元素的第一个和最后一个位置&&杨氏矩阵&&寻找数组的中心下标&&两个数组的交集
【LeetCode】错误的集合&&在排序数组中查找元素的第一个和最后一个位置&&杨氏矩阵&&寻找数组的中心下标&&两个数组的交集
【LeetCode】错误的集合&&在排序数组中查找元素的第一个和最后一个位置&&杨氏矩阵&&寻找数组的中心下标&&两个数组的交集
编写一个满足下面要求的程序:创建一个由100个随机选取的整数构成的数组 提示用户输入数组的下标,然后显示对应的元素值,如果指定的下标越界,则显示消息“Out of Bounds”
编写一个满足下面要求的程序:创建一个由100个随机选取的整数构成的数组 提示用户输入数组的下标,然后显示对应的元素值,如果指定的下标越界,则显示消息“Out of Bounds”
156 0
输入一个整形数组,实现一个函数,来调整该数组中数字的顺序//使得数组中所有奇数位于数组的前半部分,所有偶数位于数组的后半部分
输入一个整形数组,实现一个函数,来调整该数组中数字的顺序//使得数组中所有奇数位于数组的前半部分,所有偶数位于数组的后半部分
117 0
|
Java
Java 题目1:定义一个包含10个元素的数组,对其进行赋值,使每个元素的值等于其下标,然后输出;最后将这个数组倒置(即首尾交换)后输出。
题目:定义一个包含10个元素的数组,对其进行赋值,使每个元素的值等于其下标,然后输出;最后将这个数组倒置(即首尾交换)后输出。
303 0
|
存储 算法 C++
用数组模拟链表
用数组模拟链表
157 0
用数组模拟链表
|
算法 前端开发
【前端算法】最大连续1的个数,一次遍历
给定一个二进制数组, 计算其中最大连续1的个数。
105 0
【前端算法】最大连续1的个数,一次遍历