24点随机发牌算法

tongjinjiang 2011-05-14 10:28:28
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
time_t t;
int count=4; //计数器(为达到13张符合要求的牌计数)
srand(time(&t));
int m,n;
printf("输出10个随机数:\n");
while(count)
{
n=rand()%10;
if(n>0)
{
printf("%d ",n);
count--;
}
m=rand()%100;
if(m>=10&&m<=13)
{

printf("%d ",m);
count--;
}


}
return 0;
}




编译能通过,想要的结果也能实现,最关键的问题是运行几十次就可能导致数字刷屏

请问各位高手这是什么引起的??怎么解决?
...全文
185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2011-05-16
  • 打赏
  • 举报
回复
单步调试和设断点调试是程序员必须掌握的技能之一。
zhailingzy 2011-05-16
  • 打赏
  • 举报
回复
顺便说一下和运行几十次没关系……纯粹碰运气……
zhailingzy 2011-05-16
  • 打赏
  • 举报
回复
似乎是count减到负数了
按照程序看如果循环中第一次减1,第二次减2,第三次减2就会这样吧?
加个判断count=0就 break之类的
zhanghuayi_xiyou 2011-05-16
  • 打赏
  • 举报
回复
count--; //这个在程序里面while(count)一次循环可能执行两次,如果初始值为1,执行两次count--,取值就是-1了,再减那就永远循环了。。。
pearling 2011-05-16
  • 打赏
  • 举报
回复
while(count > 0) //这样就可以了
tongjinjiang 2011-05-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hnuqinhuan 的回复:]
什么事数字刷屏啊
[/Quote]


就是命令提示符上无限的在滚动数字
無_1024 2011-05-14
  • 打赏
  • 举报
回复
什么事数字刷屏啊

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧