扑克牌2,3,4……10,J,Q,K,A十三张牌,4个花色,以及大小王组成54张牌,用C语言从中抽取5张牌,要求不能重复数字,不能少,不能是大小王。
将上述随机产生的数输出到文件output.txt中
判断上述随机抽取的牌是否为顺子
将排序结果追加输出到output.txt文件中
不求完整答案,提供一些思路或部分答案也好,重谢~
以下是:C语言下生成5个不重复随机数(指定范围)并排序,其它的写文件之类的,就自己去改吧。
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main( void )
{
int i,j,a[5],temp,t;
loop1:srand((unsigned)time(NULL)); /*随机数*/
for(i=0;i<5;i++)
{ loop: temp=a[i]=rand()%33; /*随机范围*/
for(j=0;j<i;j++)
if(temp==a[j]) goto loop; /*相同则返回重新随机*/
if(temp==0) goto loop; /*若=0也重新随机*/
else j++;
}
for(i=0;i<5;i++) /*显示*/
printf("%d\t",a[i]);
printf("\n");
{
for(j=0;j<4;j++) /*进行9次循环,实现9次比较*/
for(i=0;i<4-j;i++) /*在每一趟中进行9-i次比较*/
if(a[i]>a[i+1]) /*相邻两个数的比较*/
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
for(i=0;i<5;i++) /*显示*/
printf("%d\t",a[i]);
printf("\n");
getch(); /*停止*/
goto loop1; /*如果不满意,重复*/
}