用JS实现随机生成10个1-1100之间的不重复的整数存放在数组中,并由用户输入一个数判断是否在该

有15个整数(已排序)存放在一个数组中,输入一个数,要求用折半查找法找出该数在数组中的下标值,~

#include
int main()
{
int a[15] = {99, 97, 87, 76, 65, 63, 59, 58, 51, 43, 32, 31, 28, 15, 6};
int x, low, high, mid, n;
n = 15;
low = 0;
high = n - 1;
scanf("%d", &x);
while (low <= high){
mid = (low + high) / 2;
if (x > a[mid])
high = mid - 1;
else if (x < a[mid])
low = mid + 1;
else if (x == a[mid]){
printf("%d is %dth number!
", x, mid+1);
break;
}
}
if (x != a[mid])
printf("No match!
");
return 0;
}

扩展资料:printf函数使用注意事项
1、域宽
%d:按整型数据的实际长度输出。
如果想输出指定宽度可以指定域宽,%md-->m域宽,打印出来以后,在控制台上,显示m位;
如果我们要打印的数的位数如果超过我们设定m则原样输出;
如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白)。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。
如:printf("%f%%",1.0/3);输出结果:0.333333%。

代码如下:
// 纯手打,不谢。var randoms=[];while (true){ var isExists = false; // 获取一个10–100范围的数 var random = parseInt(10 + (90 - 10) * (Math.random())) // 判断当前随机数是否已经存在 for (var i = 0; i < randoms.length; i++) { if (random === randoms[i]) { isExists = true; break; } } // 如果不存在,则添加进去 if (!isExists) randoms.push(random); // 如果有10位随机数了,就跳出 if (randoms.length === 10) break;}结果图:

关于jsJavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

这是我以前写的,封装成独立函数,那个ran()是主要的,不过可能写得会有点乱,但是用是ok的,
"use strict";
var random, arr = [], random_oo, oo = 0;
var r, a = 1, b = 1, c, n, num, k, result, m;

/**
* 生成min到max之间的随机整数并返回。
* @param min
* @param max
* @returns {number}
*/
function ran_sc(min, max) {
random = Math.round(Math.random() * (max - min)) + min;
return random;
}
/**
* 生成唯一随机数需要,检测当前随机数与数组内所有数字重复情况。
* @param x 随机数
* @returns {number} 重复情况
* 唯一(数组内所有数字没有和x重复,返回0;
* 有重复,返回1。
*/
function csqian(x) {
oo = 0;
for (var l = 0; l < arr.length; l++) {
if (x === arr[l]) oo = 1;
}
return oo;
}

/**
* 主调用函数。
* @param min 最小值
* @param max 最大值
* @param zushu 组数,要生成随机数的个数。
* @param chong_fu 是否重复,随便生成为true,生成唯一为false、
* @returns {Array} 随机数数组
*/
function ran(min, max, zushu, chong_fu) {
arr = [];
if (chong_fu === true) {//随便
random = arrran(min, max, zushu);
return random;
} else if (chong_fu === false) {//唯一
random = arrran_oo(min, max, zushu);
return random;
}
}

/**
* 随便生成
* @param min
* @param max
* @param zushu
* @returns {Array}
*/
function arrran(min, max, zushu) {
for (var i = 0; i <= (zushu - 1); i++) {
arr[i] = ran_sc(min, max);
}
return arr;
}

/**
* 生成唯一随机数函数的判断选择。。
* @param min
* @param max
* @param zushu
* @returns {Array}
*/
function arrran_oo(min, max, zushu) {
if (zushu > (max - min + 1)) {
console.log(min);
console.log(max);
console.log(zushu);
alert("组数应不超过能生成的所有不一样的随机数的数目\n(即组数不超过(最大值-最小值+1))");
} else {
random = c_s(min, max, zushu);
return random;
}
}

/**
* 生成唯一随机数
* @param min
* @param max
* @param zushu 组数
* @returns {Array}
*/
function c_s(min, max, zushu) {
for (m = 0; m <= Infinity; m++) {
if (m === zushu) break;
random_oo = ran_sc(min, max);
if (csqian(random_oo) === 0) {
arr[m] = random_oo;
} else if (csqian(random_oo) === 1) {
random_oo = ran_sc(min, max);
m -= 1;
}
}
return arr;
}

var r_ = ran(1, 1100, 10, false);
let INum = 0;//这里是用户输入的数
let EP = -1;
for (let i = 0; i < r_.length; ++i) {
if (r_[i] === INum) EP = i;
}
console.log("输入的数: " + INum);
console.log("生成随机数结果: " + r_.toString());
console.log("结果: " + EP);

JS代码随机生成20个1到100内的奇数,并存到一个数组中
答: Document var num = [];// 随机生成20个1~100的数 for(var i = 0;i<40;i++){ num[i] =parseInt(Math.random()*100);} //判断是否能被2整除,删除 for(var i = 0;i<40;i++){ if(num[i]%2 == 0){ delete num[i];} } // 遍历打印 for(var x in num){...

怎么样用JS的随机数生成函数生成1~6之间的某一个整数?
答:用JS的随机数生成函数random()配合其他数学函数可以限制随机数的取值。JS的随机数函数及相关函数:Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) 。Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。Math.ceil(n); 返回大于等于n的最小整数。Math.round(num); 参数num...

JS输出1到100之间的奇数,并存入数组中。并且每行输出10个数_百度...
答:var arr=[];for(var i=1;i<=100;i++){ if(i%2!=0){ arr.push(i);} } for(var i=0;i<5;i++){ // document.write(arr.slice(i*10,(i+1)*10)+"");obj.innerHTML+=arr.slice(i*10,(i+1)*10)+""//不想写在document可以用这条 } ...

Js怎么产生随机数?
答:js可以用Math.random()函数产生随机数,这里以产生1到5之间的随机数为例。1、产生最小到最大之间的函数,包括最小值和最大值,即“min ≤ r ≤ max”:2、产生最小到最大之间的函数,包括最小值但不包括最大值,即“min ≤ r < max”:3、产生最小到最大之间的函数,不包括最小值但包括...

js中如何产生随机数js中如何产生随机数函数
答:JS生成随机数的几种用法!随机数可以使用Math.random()生成。至于范围,可以用Math.random()*100。如果是50-100,可以用50Math.random()*50。如果想得到一个整数,可以通过Math.floor得到 vargetRandom=function(start,end){ returnstartmath.floor(math.random()*(end-start));};如何防止多次提交同...

...随机十个数字,先输出奇数,在输出偶数,并从小到大排列,用js实现...
答:var oucount = 0; //偶数计数器 var arr = new Array(); //储存随机数数组 var jishu = new Array(); //储存奇数数组 var oushu = new Array(); //储存偶数数组 while(count < 10){ //为奇偶数组赋值 arr[count] = (Math.round((Math.random()*9)+1));if(arr[...

JavaScript问题:一个有一百个随机数字的数组中(可能有重复数字),随机...
答://从arr中抽出10个不重复的值赋予arr2var i = 1;while(i<=10){ num = rand(arr); //判断num随机值在arr2中是否已存在 if(arr2.indexOf(num) == -1){ arr2[i] = num; document.write('抽取的第'+i+'个数字为'+num+''); alert('...

javascript随机产生3个1-100之间的整数,输出最大和最小数;请问这要怎么...
答:function ran(){var num =[];for(var i=0;i<3;i++){num.push(Math.floor(Math.random() * 100) +1);}//console.log(num);//已经得到了三个随机整数var sortnum = num.sort(); //排序,return {max: sortnum[2], min: sortnum[0], all: sortnum};}var a = ran();a.max...

使用javascript,生成一个10个元素的数组,要求每个元素为0-10之内的...
答: var arr=new Array();while(arr.length<10){ var num=Math.floor(Math.random()*10);if(arr.toString().indexOf(num+"")==-1){ arr.push(num);} } alert(arr);

js中如何用Math中的随机函数编程实现生成十道100以内的加减乘除题目...
答:直接上代码,运行函数会返回一个数组,参数number是你要生成的题目总数,至少要大于等于1,flag是你要生成几位加减乘除运算式,至少要大于等于2.function randCalc(number, flag) { var flags = ['+', '-', '*', '/'];var list = [];var M = 100;if(flag < 2 || number < 1) ...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网