概述
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
srand((unsigned)(time(NULL)));
int num;
int i, j;
int a[52] = {0};//存放牌
int flag;//标志位,用于判断前面发的牌是否存在与本次发牌相同的
int index = 0;//对已发放的牌计数
int count = 0;//换行显示计数
/*----------开始发牌------------*/
for(i = 1; ; ++i)
{
flag = 0;
num = rand()%52 + 1;
//判断发牌与之前发牌是否相同
for(j = 0; j < 52; ++j)
{
if(num == a[j])
{
flag = 1;
}
}
//如果发牌达到52张则退出循环
if(index > 51)
{
break;
}
//如果相同,跳出本次循环
if(flag == 1 )
{
continue;
}
//将牌放到数组中
a[index] = num;
index++;
//判断随即生成的52以内的数对应的牌
if(num > 0 && num < 14 )
{
if(num > 1 && num <11)
{
printf("红桃%dt",num);
}
else
{
switch (num)
{
case 11:printf("红桃%st","J");
break;
case 12:printf("红桃%st","Q");
break;
case 13:printf("红桃%st","K");
break;
case 1 :printf("红桃%st","A");
break;
default: printf("111t");
break;
}
}
}
if(num > 13 && num < 27 )
{
num = num - 13;
if(num > 1 && num < 11)
{
printf("红方%dt",num );
}
else
{
switch (num)
{
case 11:printf("红方%st","J");
break;
case 12:printf("红方%st","Q");
break;
case 13:printf("红方%st","K");
break;
case 1 :printf("红方%st","A");
break;
default: printf("111t");
break;
}
}
}
if(num > 26 && num < 40 )
{
num = num - 26;
if(num > 1 && num < 11)
{
printf("黑桃%dt",num);
}
else
{
switch (num)
{
case 11:printf("黑桃%st","J");
break;
case 12:printf("黑桃%st","Q");
break;
case 13:printf("黑桃%st","K");
break;
case 1 :printf("黑桃%st","A");
break;
default: printf("111t");
break;
}
}
}
if(num > 39 && num < 53 )
{
num = num - 39;
if(num > 1 && num < 11)
{
printf("梅花%dt",num);
}
else
{
switch (num)
{
case 11:printf("梅花%st","J");
break;
case 12:printf("梅花%st","Q");
break;
case 13:printf("梅花%st","K");
break;
case 1 :printf("梅花%st","A");
break;
default: printf("111t");
break;
}
}
}
//换行
count ++;
if(count == 13)
{
count = 0;
printf("n");
}
}
printf("n");
return 0;
}
刚学c程序不久,刚看到这个题目觉得很简单.但是实际操作的时候又有点的烦.关键是在判断何时跳出循环,发牌结束.刚开始我将发牌结束的条件设为index < 52发现一直 不对.后来发现应该改为index < 51.就这个小问题让我纠结的好半天,-_-||
最后
以上就是舒服河马为你收集整理的Linux_C练习:设计一个洗牌发牌的程序;(随机产生52个不同的数)的全部内容,希望文章能够帮你解决Linux_C练习:设计一个洗牌发牌的程序;(随机产生52个不同的数)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复