程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 輸出-C語言 產生隨機數並判斷是否連續

輸出-C語言 產生隨機數並判斷是否連續

編輯:編程綜合問答
C語言 產生隨機數並判斷是否連續

撲克牌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; /*如果不滿意,重復*/
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved