c - 为什么这种卡片分类方法不起作用?
问题描述
作为更大计划的一部分,我被要求进行卡片分类练习。
我必须使用函数“aleatorio”(在练习中提供)并通过交换对总共 100 次来对它们进行排序。该套牌是西班牙套牌,所以这就是它具有这些价值的原因。
我使用一个简单的 for 循环完成了它,并认为这已经足够了,但是当我调试它时,通常牌组的某些条目的值为6.9533558075915288e-310
. 代码有什么问题?
#include <stdlib.h>
#include <time.h>
#define AS 1
#define DOS 2
#define TRES 3
#define CUATRO 4
#define CINCO 5
#define SEIS 6
#define SIETE 7
#define SOTA 0.5
#define CABALLO 0.5
#define REY 0.5
int aleatorio(int a, int b) {
return a + rand() % (b - a + 1);
}
int main() {
double cartas[40] = {
AS, DOS, TRES, CUATRO, CINCO, SEIS, SIETE, SOTA, CABALLO, REY,
AS, DOS, TRES, CUATRO, CINCO, SEIS, SIETE, SOTA, CABALLO, REY,
AS, DOS, TRES, CUATRO, CINCO, SEIS, SIETE, SOTA, CABALLO, REY,
AS, DOS, TRES, CUATRO, CINCO, SEIS, SIETE, SOTA, CABALLO, REY
}, carta;
int k,i,j;
srand((unsigned) time(NULL));
/*Bucle de barajar*/
for (k = 0;k < 100; k++){
i = aleatorio(1, 40);
j = aleatorio(1, 40);
carta = cartas[i];
cartas[i] = cartas[j];
cartas[j] = carta;
}
return 0;
}
解决方案
推荐阅读
- dart - 为什么在显示字符串已通过尝试调用时给出 NoSuchMethodFound 错误?
- c# - 阻止 Uglify.JS 添加一些更改
- scikit-learn - scikit学习回归.predict()返回类型不一致
- r - R 理解 glmnet 的 {caret} train(tuneLength=)
- html - 如何在单击另一个图像时更改我的图像按钮?
- javascript - 如何在这一系列承诺中插入 if 语句?(Vue JS)
- python - Python - 为每个元素查找左侧第一个非零元素的索引
- .htaccess - 如何将域重定向到目录 .htaccess
- android - 为手机上的标准下载目录创建文件提供程序,以通过 Intent 发送 PDF 文件
- mysql - MySQL:根据匹配值将数据从一个表更新或复制到另一个表