sinat_26466145 2015-03-10 13:32 采纳率: 33.3%
浏览 2917
已采纳

C语言 产生随机数并判断是否连续

扑克牌2,3,4……10,J,Q,K,A十三张牌,4个花色,以及大小王组成54张牌,用C语言从中抽取5张牌,要求不能重复数字,不能少,不能是大小王。
将上述随机产生的数输出到文件output.txt中
判断上述随机抽取的牌是否为顺子
将排序结果追加输出到output.txt文件中
不求完整答案,提供一些思路或部分答案也好,重谢~

  • 写回答

1条回答 默认 最新

  • 91program 博客专家认证 2015-03-10 23:42
    关注

    以下是: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; /*如果不满意,重复*/
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算