JS 随机数

随机数代码练习

 随机数的用法:

1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) 
2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。 
3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。

Math:数学对象,提供对数据的数学计算。
Math.random(); 返回0和1间(包括0,不包括1)的一个随机数。

Math.ceil(n); 返回大于等于n的最小整数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。

Math.round(n); 返回n四舍五入后整数的值。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。

Math.floor(n); 返回小于等于n的最大整数。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。

多维数组注意:

alert(new Date().getTime());
alert(Math.abs(-1));//对象调用方法
alert(Math.PI);//对象调用属性
alert(Math.ceil(2.3));//向上取整,只要有小数点就+1//3
alert(Math.floor(1.9));//1

代码练习:

1.36选7彩票题

首先要理清思路,怎么做,该干什么 写注释!!!

 1 var arr = [];//定义一个数组
 2     for (var i=0;i<7;i++){//随机抽取数
 3         var num =parseInt(Math.random()*35+1);//36个数里随机挑选
 4         for(var j in arr){//定义一个数j在arr数组里面
 5             if(arr[j]==num){//如果num这个数等于j,那就是重复
 6                 jj=false;//定义jj代表重复
 7             }
 8         }
 9         if(!jj){//如果不重复
10             i--;
11         }else{
12             arr[i]=num;//则就把这个数放在这组数组里面
13         }
14     }
36选7彩票

2.学生成绩汇总计算

6个学生成绩,总分,平均分的计算

 

3.随机获取4个数

 1 window.onload = showyam;//窗口加载页面
 2 var str = "";//设一个字符串为空值 这里的str是全局变量
 3 function showyzm(){//执行的方法
 4     var strA = [1,2,3,4,5,6,7,"a","b","c"];//定义一个数组strA
 5     str ="";
 6     for(var i=0; i<4;i++){//循环4次
 7         var quzhi = parseInt(Math.random()*strA.length);//这个取值是根据数组的长度来取
 8         str = str + strA[quzhi];//把取得的这个数加在数组里面
 9     }
10     document.getElementById("dd").innerHTML =str;//取得的这个数应用在html里面的元素"dd"里面,也就是div里
11 }
12 
13 function istrue(){
14     //获取用户输入的验证码
15     var userstr = document.getElementById("yzm").value;
16     if (userstr==str){//如果用户输入的和数组里的一样
17         //那么就应用在HTML里
18         document.getElementById("info").innerHTML ="验证码输入正确";
19     }else{//如果不一样就显示错误
20         document.getElementById("info").innerHTML = "验证码错误";
21     }
验证码的应用和登陆界面的验证

4.确认数组下标/两组数组比较大小

 1 确认数组里的数的下标
 2 /*var arr = [1,2,3,8,5,9,6];//定义一个数组
 3 for(var i=0;i<arr.length;i++){//循环
 4     if(arr[i] == 8){//如果这个数是8
 5         alert(i);//那么就输出这个数的下标(也就是在数组里排第几位)
 6     }
 7 }
 8 //两组数组比大小
 9 for(var i=0;i<arr.length;i++){//这个循环出来的数
10     for(var j=i+1;j<arr.length;j++){//循环
11         var pk = null;//定义第一个数组一个变量为空值
12         if(arr[i]>arr[j]){//如果数组i里面的数大于数组j里面的数
13             pk =arr[i];//取得数就是i里面的数
14             arr[i]=arr[j];//两个数组里的数组相等
15             arr[j]=pk;//得出一组从小到大排列的数
16         }
17     }
18 }alert(arr);
确认下标、比大小

5.评委打分

//定义一个数组  里面包含20个分数
    var arr =(23,12,56,84,64,91,65,78,32,46,94,89,62,35,67,89,36,41,78,63);
    var max ="";
    var min ="";
    var sum =0;
    //循环
    for(var i=0;i<20;i++){
            //判断最大数
            if(max<arr[i]){
                //就把这个数存在数组里面
                max=arr[i];//得出最大值
            }else if(min>arr[i]){//
                min=arr[i];//得出最小值并存入数组
                //求和
                sum = sum+arr[i];
            }
        //计算结果
            sum = (sum-max-min)/18;
        console.log(sum);
    }
评委打分代码(20个分数)

6.计算器

 1 <div>
 2     <input id="a1" type="text">
 3     <select id="b2" type="">
 4         <option>+</option>
 5         <option>-</option>
 6         <option>*</option>
 7         <option>/</option>
 8     </select>
 9     <input id="c3" type="text" value="">
10     <input id="d4" type="button" value="计算" onClick="math()">
11     <input id="e5" type="text" value="">
12 </div>
13 
14 var sum="";
15 function math(){
16     var a1 =document.getElementById("a1").value;
17     var b2 =document.getElementById("b2");
18     var c3 =document.getElementById("c3").value;
19     var d4 =document.getElementsByTagName("select")[0];
20     var e5 =document.getElementById("e5");
21          if(b2 =="+"){
22             sum.value="+a1 + +c3";//sum=parseInta1+parseIntc3;
23              console.log(a1);
24         }
25         else if(b2=="-"){
26             sum.value=+a1 - +c3;//sum=parseInta1/parseIntc3;
27         }
28         else if(b2=="*"){
29             sum.value=+a1 * +c3;//sum=parseInta1*parseIntc3;
30         }
31         else if(b2=="/"){
32             sum.value=+a1 / +c3;//sum=parseInta1/parseIntc3;
33             
34         }
35         e5.value = sum;
36     }
计算器

 7.水仙花数

    //水仙花数
for(var i=100;i<1000;i++){
   a = i % 10;//求个位数
   b = parseInt((i / 10) % 10);//求十位数
   c = parseInt(i / 100);
   if (i == a * a * a + b * b * b + c * c * c){
     console.log(i);  
   }
       
}
水仙花数

8.买牙刷、牙膏、香皂算术题

//牙膏、牙刷、肥皂
var num=0;
    for(var i=0;i<=20;i++){
        for(var j=0;j<=50;j++){
            for(var k=0;k<=6;k++){
                if(i*5+j*2+k*15 == 100){
                    num++;
                    console.log("牙膏有"+i+"种","牙刷有"+j+"种","肥皂有"+k+"种");
                }
            }
        }
    }
    console.log("总共有"+num+"种");
共100元,牙膏5元,牙刷2元,香皂15元,一共多少种可能

 

转载于:https://www.cnblogs.com/sc1314-1218/p/8244988.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值