#include
#include
#include
#include
#define SUIT 52
#define HALF 26
#define COLOR ((char)13)
// 扑克牌的编码是一组13进制的数据,从0编到51
// 函数tell用于解释编码的内容
int tell(char card, char * description)
{
char i=0, j=0;
char *suit[]={"Spades","Hearts","Clubs","Diamonds"};
char *face[] = {"A","2","3","4","5","6","7","8","9",
"10","Jack","Queen","King"};
//题干比较奇怪,要求扣8张底牌,但是含大小王。正确的规则应该是不含大小王的情况下扣8张牌,每人11张牌就对了
//否则应该扣10张牌或者6张牌,否则每人发牌得到的牌数不相同(不是4的倍数)
//如需要,可自行定义JB=52,JA=53,SUIT=54,HALF=27即可。
//if (card > JB || card < 0 || !description) return 0;
//if (card == JB) { sprintf(description, "Big Joker"); return 1; }
//if (card == JA) { sprintf(description, "Little Joker"); return 1; }
i = card / COLOR; j = card % COLOR;
sprintf(description, "%s %s", suit[i], face[j]);
return 1;
}
//初始化牌,形成一个顺序牌
int init(char *poker)
{
char i = 0;
if (!poker) return 0;
for (i=0; i srand((unsigned)time(0)); return 1; } //洗牌,将当前牌分成上下两组,然后交叉,有右手先和左手先两种可能,这一个是左手先交换法 int wash_left_hand(char *poker) { char i=0, j=0, k=0; char boker[SUIT]; if(!poker) return 0; for(i=0; i j = i * 2; //上半组 boker[j] = poker[i]; k = i + HALF; //下半组 boker[j+1]=poker[k]; }//next i memcpy(poker, boker, SUIT); return 1; } //洗牌,将当前牌分成上下两组,然后交叉,有右手先和左手先两种可能,这一个是右手先交换法 //注意左右手先后顺序的区别在于变量j的奇偶变化 int wash_right_hand(char *poker) { char i=0, j=0, k=0; char boker[SUIT]; if(!poker) return 0; for(i=0; i j = i * 2; //上半组 boker[j+1] = poker[i]; k = i + HALF; //下半组 boker[j]=poker[k]; }//next i memcpy(poker, boker, SUIT); return 1; } //在当前牌的基础上洗一次牌,主要用随机函数的奇偶性确定用左手洗还是右手洗 int wash_once(char *poker) { return rand()%2?wash_left_hand(poker):wash_right_hand(poker); } //在当前牌的基础上随机洗若干次牌,至少8次,最多18次 int wash_full(char *poker) { int i = 0, j = 0, k = 0; i = rand() % 10 + 8; printf("\nTry to wash %d times.\n", i); for (j=0; j < i ; j++) k+=wash_once(poker); return k; } int main(void) { char choice = 0, i = 0, j = 0; char poker[SUIT], card[16]; init(poker); do { printf("\n\tWelcome to My Poker Game!\n"); printf("\t0-Wash.\n"); printf("\t1-Show A.\n"); printf("\t2-Show B.\n"); printf("\t3-Show C.\n"); printf("\t4-Show D.\n"); printf("\tany other number-quit.\n"); printf("Your Choice?"); scanf("%d", &choice); if(choice <0 || choice >4) break; if(choice ==0) { wash_full(poker); continue; }//end if i = (choice - 1) * 11; //注意用11张牌,扣8张底牌 printf("His card is...\n"); for(j = i; j tell(poker[j], card); printf("%s\t", card); }//next printf("\n"); }while(1); return 0; } 以现在的国内物流公司为例,可以布置一个模拟营业厅; 需要的设施及设备有:柜台、电脑、打印机、传真机、电话机、POS机、托运书、验钞机、饮水机、凳子(员工凳、客户凳两种)、水杯、包装工具(如:封口胶、纸箱、纤袋、纤条、打包机、电锯、锤子、钉子、木条)、托盘、叉车等; 可以开展的项目有:模拟客户接待、模拟称重量方、模拟给货物加包装、模拟制单、模拟收款、模拟电话营销、模拟店面营销、模拟上门拜访、模拟网络营销、模拟客户异常处理、模拟标签制作与粘贴、模拟货物码放、模拟货物搬运等等! 去csdn找下,或者程序员联合开发网,csdn的博客也可以找,下载那可以找相关资料找找 www.csdn.net www.pudn.com 希望对你有帮助 C语言程序: #include #define N 100 void main() { int a[N][N]; int i, j, k; int n; printf("n : "); scanf("%d", &n); for(i=0; i=1; j--) { if(k > a[i][j] && k % a[i][j] == 0) { a[i+1][++a[i+1][0]] = k; i = 0; break; } } } } for(i=0; i 本文来自用户投稿,不代表POS机办理网立场,如若转载,请注明出处:https://tlx668.com/poszx/1027.html
发表回复
评论列表(0条)