源代码:
#include "stdio.h" #include "stdlib.h" #include "time.h" int card[52][2]={0}; void Mixcard() { int i,j,k,l; srand((unsigned)time(NULL)); for(k=0;k<10000;k++) { i = rand()%52; j = rand()%52; l=card[i][0]; card[i][0]=card[j][0]; card[j][0]=l; l=card[i][1]; card[i][1]=card[j][1]; card[j][1]=l; } } void Initcard() { int i,j,k; for(i=1;i<53;i++) { card[i-1][0] = (i-1)%13+1; card[i-1][1] = (i-1)/13+3; } } void printcard(int num,int color) { printf("-------------\n"); if(num<=10) printf("|%d |\n",num); else if(num==11) printf("|J |\n"); else if(num==12) printf("|Q |\n"); else if(num==13) printf("|K |\n"); printf("| |\n"); printf("| %c ",color); printf(" |\n"); printf("| |\n"); if(num<=10) printf("| %d|\n",num); else if(num==11) printf("| J|\n"); else if(num==12) printf("| Q|\n"); else if(num==13) printf("| K|\n"); printf("-------------\n"); } void Printallcard() { int i,j,k; for(i=0;i<52;i++) printcard(card[i][0],card[i][1]); } int main() { int mod; Initcard(); printf("请选择输出扑克牌的模式:\n"); printf("1:顺序输出 2:乱序输出\n"); scanf("%d",&mod); if(mod==1); else if(mod==2) Mixcard(); else { printf("输入的数据有误!"); return 1; } Printallcard(); return 0; }
在win10环境下能够输出,但是中间的花色看不见
在win7环境下可以正常输出