撲克牌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; /*如果不滿意,重復*/
}