问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言实现0~999洗牌,要求每次洗牌结果不一样,下面这段程序中基本可以实现,但是会有重复和丢失,请教高

发布网友 发布时间:2022-05-24 12:07

我来回答

2个回答

热心网友 时间:2023-10-12 18:57

#include "stdio.h"
#include "stdlib.h"
#include "time.h"

#define ARR_SIZE 1000

int main()
{
int a[ARR_SIZE] = {0};
int nPos;
int *pLast;
int i;

nPos = 0;
pLast = a + ARR_SIZE - 1;
srand((unsigned int)time(NULL));
for (i=0; i<ARR_SIZE; i++)
{
nPos = (pLast == a) ? 0 : rand() % (pLast - a);
if (a[nPos])
{
*pLast = i;
if (i<ARR_SIZE - 1)
while(*(--pLast) && pLast>a);
}
else
{
a[nPos] = i;
}
}

for (i=0; i<ARR_SIZE; i++)
{
printf("%03d\t", a[i]);
}

//getchar();
return 0;
}

热心网友 时间:2023-10-12 18:57

根据你的代码,做了修改:主要是你判断重复的那个地方处理的有问题
#include<iomanip.h>
#include<stdlib.h>
#include<time.h>

const int N=100;
static int a[N];

int create(int n)
{
return (rand()%N);
}

int main()
{
int i,j;
srand(time(0));
for(i=0;i<N;i++)
{
a[i]=create(N);
for(j=0;j<=i;j++)
{
if(a[j]==a[i])
{
break;
}
}

if (j!=i)
{
i--;
continue;
}
//cout<<a[i]<<"\t";
cout <<setfill('0')<<setw(3) <<a[i]<<"\t";
}
cout<<endl;
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如果只有铬黑T试剂,能否测定钙离子,如何测定? 金银花茶的做法窍门 怎样制作金银花茶 怎么快速取消订单 有关"听"开头的成语 王卡看腾讯视频不显示免流 大王卡腾讯视频不显示免流 谁给推荐几部国产的好看的、卟幼稚的、新鲜的动画片 好看的、不幼稚的国产动画片有哪些? 太早的不要,要连续动画片 上传速度慢是什么原因? 编写C语言程序,模拟将一副扑克牌54张随机分给4个人 (如何表达不同花色和大小,如何高效洗牌) C语言洗牌发牌程序 C语言洗牌程序bug求助 蒸汽清洗机最高温度可达到120℃是根据什么原理制成的(中考模拟题) C语言 洗牌 蒸汽洗车到底对车漆有损伤吗 c语言 洗牌程序 win7 64位系统安装的是CAD2008可安装不上天正建筑 64位的win7旗舰版系统,安装了2007的CAD后,怎么安装不上天正建筑 如何求C语言扑克牌洗牌发牌,发的牌要从大到小排序,每个部分都要用 为什么我在网上下的天正建筑CAD安装之后不能用?总是提示没有可用版本,我系统是32位的 谁会c语言编程发牌洗牌程序 用C语言编写一个52张扑克牌随即洗牌的程序 并写上注释 木姜菜和薄荷怎么区别 c语言编程用扑克牌洗牌和发牌 C语言 编写洗牌的问题 什么是花瓶菜 我下载了64位版本的CAD,为什么安装不上天正建筑呢?哪位哥哥告诉下怎么办,。或者给我发个适合用的天正。 编写一个C语言程序,模拟洗牌和发牌的过程 C语言编程题-洗牌 c语言 洗牌问题 求挑错 如何使用流风清音制作一个简单的招聘信息网站,就一个html再链接一个css外部样式表这种,简单的 - 信息提示 怎么在QQ群里添加在线文档文件夹 有人借钱不还,找不到人,该怎么办? 别人借钱不还,找不到人怎么办 朋友借钱不还,现在找不到人怎么办 对于借钱不还又不接电话不回短信的人,找到他应该怎样? 广州一夫妇隐瞒行程被立案调查,活动轨迹涉及哪些地方? 离开广州需要登记吗 清远密接着12到在广州南换乘,下午2点到广州南是否算密接者 广州白云机场员工例行核检中现异常,各大航班出现了哪些应急情况? 广州确诊者基因测序与入境病例同源,这一发现有什么重大意义? 广州近期发生疫情,去省外旅游有影响吗? 广东省增城市新塘镇,是不是中风险地区? 丰田霸道4000多少钱 丰田霸道4000最低报 2016款丰田霸道4000多少钱 丰田陆巡越野车4000报价多少钱 请问大家:丰田霸道4000(04款)新车报价是多少? 丰田霸道4000安全系数舒适度和速度还有价格是多少