
其实发牌问题里有个随机的问题,就是模拟洗牌的问题,我来尝试下这个程序吧(每个花色的代码分别是:红桃 \x3,方块\x4,梅花\x5,黑桃\x6
#include <stdioh>
#include <timeh>
char hua_se[4]={'\x3','\x4','\x5','\x6'}; //定义一个数组来存放花色
char dight[14]={"Ace","two","three","four","five","six","seven","eight","nine","ten","jack","queen","king"};//定义一个指针型的数组来存放数字
int fa_pai[4][13]={0};//定义一个二维数组来发牌
void move(int fa_pai[4][13]);
void deal(int fa_pai[4][13],char huase[4],char dight[4][13]);
int main(void){srand(time(NULL));
move(fa_pai);
deal(hua_se,dight,fa_pai);
printf("你是否想结束发牌?Y/N");
getch();return 0;}void move(int fa_pai[4][13]){int r,card,row,column;
for(card=1;card<=52;card++)
{
r=rand();
row=r%4;
r=rand();
column=r%13;
while(fa_pai[4][13]!=0)
{
r=rand();
row=r%4;
r=rand();
column=r%13;
}
fa_pai[row][column]=card;
}
}
void deal(int fapai[4][13],char hua_se[3],char dight[13])
{
char c;int card,row,column;
for(card=1;card<=52;card++)
{
for(row=0;row<=3;row++)
{
for(column=0;column<=12;column++)
{
if(fapai[row][column]==card)
{
if(card%3=0)c='\n';
elsec='\t';
printf("%5sof%-8s%c",hua_se[row],dight[column],c);
}
}
}
}
}
在最早人们编写计算机程序需要直接用计算机能识别的计算机语言编写,但是工作量很繁琐,后来出现用英文字母代替二进制指令的语言,现在称为符号语言。但是用符号编写的程序计算机又不能直接识别,人们编写完符号语言后又需要转换成计算机语言让计算机运行,这样用来翻译符号语言的程序被称为汇编程序或汇编器。所以符号语言又被称为汇编语言,因此用汇编语言编写的程序叫汇编语言源程序,简称源程序,既源代码。简单来说就这么回事。
两种方法我写在一起,可以独立拆开。
#include <stdioh>
void finda1(char a[3][10]);
void finda2(char a[3][10]);
void show(char (p)[10]);
int main()
{
char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};
printf("原数组内容:\n");
show(a);
printf("\n1、用数组指针的方法(函数finda1):\n");
finda1(a);
printf("执行后:\n");
show(a);
printf("\n---------------------\n");
char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};
printf("原数组内容:\n");
show(a);
printf("\n2、用指针数组的方法(函数finda2):\n");
finda2(b);
printf("执行后:\n");
show(b);
return 0;
}
void finda1(char a[3][10])
{
int i,j;
char (p)[10]=a;
for(i=0;i<3;i++)
for(j=0;j<10;j++)
if(p[i][j]=='a')
printf("发现:第%d行第%d个元素是‘a’,已替换\n",i+1,j+1),p[i][j]='1';
}
void finda2(char a[3][10])
{
int i,j;
char p[3]={&a[0][0],&a[1][0],&a[2][0]};
for(i=0;i<3;i++)
for(j=0;j<10;j++)
if(p[i][j]=='a')
printf("发现:第%d行第%d个元素是‘a’,已替换\n",i+1,j+1),p[i][j]='1';
}
void show(char (p)[10])
{
int i,j;
for(i=0;i<3;i++,printf("\n"))
for(j=0;j<10;j++)
printf("%c ",p[i][j]);
}
#include<stdioh>
int main()
{int i,n=10,a[20][2],s=0;
float av,x1,x2;
for(i=0;i<n;i++)
{scanf("%d%d",&a[i][0],&a[i][1]);
s+=a[i][1];
}
av=(float)s/n;
x1=av12;
x2=av11;
for(i=0;i<n;i++)
if(a[i][1]>=x1)printf("%d %d:JJ1\n",a[i][0],a[i][1]);
else if(a[i][1]>=x2)printf("%d %d:JJ2\n",a[i][0],a[i][1]);
return 0;
}
以上就是关于c语言纸牌发牌程序源代码(附注释)全部的内容,包括:c语言纸牌发牌程序源代码(附注释)、关于C语言中的源代码、c语言编程代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)