模拟输出21点所有可能的Black Jack牌型

很久没写C++程序了,现在模拟一下输出21点所有可能的Black Jack牌型

要求:使用数组存储所有Black Jack 牌型,然后输出(任意一张A + 10/J/Q/K即构成Black Jack牌型)

实现程序如下:

#include <iostream>
#include <string>

using namespace std;

int main(){
	string A[4] = {"0x01","0x02","0x03","0x04"}; //分别表示黑桃A、红桃A、梅花A、方片A 
	string B[16] = {"0x0A","0x0B","0x0C","0x0D","0x1A","0x1B","0x1C","0x1D","0x2A","0x2B","0x2C","0x2D","0x3A","0x3B","0x3C","0x3D"}; //分别表示黑桃10 ... 方片K 
	string C[2][64];
	int n = 0;
	for(int j=0; j<4; j++){
		for(int k=0; k<16; k++){
			C[0][n] = A[j];
			C[1][n] = B[k];
			n++;
		}
	}
	cout<<"所有可能的Black Jack牌型如下:"<<endl; 
	for(int i=0; i<64; i++){
		if(i%4 == 0){
			cout<<endl;
		}
		cout<<C[0][i]<<" "<<C[1][i]<<endl;
	}
	return 0;
}

总结:很久没写代码了,一开始就出错

例如:使用sizeof(A)去做循环

	for(int i=0; i<sizeof(A); i++){//此写法错误,sizeof返回的是一个对象或类型所占的内存字节数 
		...
	}
	
	//如果一定要用sizeof函数,应该如下调用 
	for(int i=0; i<sizeof(A)/sizeof(A[0]); i++){//此写法也只限于A数组中每个元素占内存字节数相同时才不会出错 
		...
	}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值