xiaoxi_6 2022-02-17 16:31 采纳率: 50%
浏览 52
已结题

询问如何生成一个五位数且各个数字不相同的代码

我只能写出来随机生成五位数但是不能保证各个数字不相同,请问应该如何修改. ret=rand()%89999+10000

  • 写回答

4条回答 默认 最新

  • 关注
    
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    void main()
    {
     int ret = 0;
     int i = 0;
     int rnd = 0;
     int cnt=0;
     int a,b,c,d,e;
     srand((unsigned int)time(NULL));
     do{
      ret = rand()%89999+10000;
      a = ret /10000;
      b = ret /1000%10;
      c = ret /100%10;
      d = ret /10%10;
      e = ret %10;
      if(a != b && b != c && c!=d && d!=e)
       break;
     }while(1);
     printf("%d",ret);
     printf("Ganestart!\n");
     while(1)
     {
     printf("请输入一个数:");
     scanf("%d",&rnd);
     cnt++;
     if(rnd>ret){
     printf("太大了! \n");
     }else if(rnd<ret){
     printf("太小了! \n");
     }else{
     printf("炸弹爆炸,嘭! \n");
     break;
     }
     }
     printf("共猜了%d次",cnt);
     return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月25日
  • 已采纳回答 2月17日
  • 修改了问题 2月17日
  • 创建了问题 2月17日