关于JavaScript的一些练习题(十二)

第四十二题:用一个函数实现加减乘除求余
   	HTML代码
    <input type="text" id="num1">
    <select id="bol">
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
        <option value="%">5</option>
    </select>
    <input type="text" id="num2">
    <input type="button" id="btn" value="=">
    <span></span>
	JavaScript代码
	var num1 = document.getElementById("num1")
    var num2 = document.getElementById("num2")
    var bol = document.getElementById("bol")
    var span = document.querySelector("span")
    var btn = document.getElementById("btn")
    btn.onclick = function(){
        var n = parseFloat(num1.value);
        var m = parseFloat(num2.value);
        var b = bol.value;
        var s = 0;
        switch(b){
            case "+":
                s = n + m;
                break;
            case "-":
                s = n - m;
                break;
            case "*":
                s = n * m;
                break;
            case "/":
                s = n / m;
                break;
            case "%":
                s = n % m;
                break;
        }
        span.innerHTML = s;
    }
第四十三题某公司用电话传递数据(如:6234),需要加密,规则如下
    a.每位数字都加上5然后用除以10的余数代替(如:1789)
    b.将第一和第四位交换,第二和第三位交换(如:9871)
  function tel(n){
        var a,b,c,d;
        a= parseInt(n/1000);
        b=parseInt(n/100)%10;
        c=parseInt(n/10)%10;
        d=n%10;
        a=(a+5)%10;
        b=(b+5)%10;
        c=(c+5)%10;
        d=(d+5)%10;
        return ""+d+c+b+a
    }
    var m = 6234;
    var x = tel(m);
    console.log(x)
第四十四题:一个5位数,判断它是不是回文数。即12621是回文数,个位与万位相同,十位与千位相同。
    function judge(n){
        var a,b,c,d,e;
        a=parseInt(n/10000);
        b=parseInt(n/1000)%10;
        c=parseInt(n/100)%10;
        d=parseInt(n/10)%10;
        e=n%10;
        if(a===e&&b===d){
            return n+"是回文数"
        }else{
            return n+"不是回文数"
        }
    }
    var m = 13421;
    var e = judge(m);
    console.log(e)
第四十五题:用函数计算三个数字的大小,按从小到大顺序输出(提高)
  function fn(a,b,c){
        if(a>b && a>c){
            if(b>c){
                console.log(c,b,a)
            }else{
                console.log(b,c,a)
            }
        }
        if(b>a && b>c){
            if(a>c){
                console.log(c,a,b)
            }else{
                console.log(a,c,b)
            }
        }
        if(c>a && c>b){
            if(a>b){
                console.log(b,a,c)
            }else{
                console.log(a,b,c)
            }
        }
    }
    var x=5;
    var y=9;
    var z=2;
    fn(x,y,z)
第四十六题:编写生成4位数字验证码的函数  提示:console.log(Math.random());//返回0~1之间的数字
    function fn(){
        var sum = ""
        for(var i=0;i<4;i++){
            sum += parseInt(Math.random()*10)
        }
        return sum
    }
    console.log(fn())
第四十七题:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问20个月的兔子对数为多少? (斐波那契额数列)
    function fn(){
        var num1 = 1;
        var num2 =1;
        var month = 20;
        var num ;
        for(var i=1;i<=month;i++){
            if(i<=2){
                console.log("第"+i+"个月的兔子总对数是:1对")
            }else{
                num = num2;
                num2 = num1+num2;
                num1=num;
                console.log("第"+i+"个月的兔子总对数是:"+num2+"对")
            }
        }
    }
    fn()

第四十八题:编写一个函数,计算m到n之间所能组成的奇数(奇数的每位数字不能相同)个数,m和n必须是个位数,
    比如:计算0-3之间能组成的奇数个数是01,21,03,13,23,31 (难:不要求)
    function fn(m,n){
        if(n>m){
            var t = n;
            n=m;
            m=t;
        }
        var k=0;
        for(var i = n;i<=m;i++){
            for(var j=n;j<=m;j++){
                if((""+i+j)%2!=0&&i!=j){
                    console.log(""+i+j)
                    k++
                }
            }
        }
        return k
    }
    console.log(fn(0,3))
第四十九题:输入某年某月某日,判断这一天是这一年的第几天?(1980~2020)
(尽力去完成)
   2012 2 30
   input
   isOk
   sumDay
HTML代码
    年:<input type="text" id="num1"><br><br>
    月:<input type="text" id="num2"><br><br>
    日:<input type="text" id="num3"><br><br>
    <input type="button" id="btn" value="计算"><br><br>
    <span></span>
   JavaScript代码
    var num1 = document.getElementById("num1");
    var num2 = document.getElementById("num2");
    var num3 = document.getElementById("num3");
    var btn = document.getElementById("btn");
    var span = document.querySelector("span")
    var n = parseInt(num1.value)
    var sum = 0
    btn.onclick = function(){
        switch(num2.value){
            case "12":
                sum += 30;
            case "11":
                sum += 31;
            case "10":
                sum += 30;
            case "9":
                sum += 31;
            case "8":
                sum += 31;
            case "7":
                sum += 30;
            case "6":
                sum += 31;
            case "5":
                sum += 30;
            case "4":
                sum += 31;
            case "3":
                if(n%4===0&&n%100!==0||n%400===0){
                    sum += 29;
                }else{
                    sum += 28;
                }
            case "2":
                sum += 31;
            case "1":
                sum += parseInt(num3.value);
                break;
            default:
                span.innerHTML = "你所输入的时间不符"
        }
        span.innerHTML = "这是" + num1.value+"的第"+sum+"天";
    }
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值