JavaScript 锻炼逻辑思维小练习(带解答)

1.通过文本录入提示框,录入2个数字和运算符,实现结果的计算,请将结果返回,然后调用该方法在控制台输出计算结果

var one = prompt("请输入第一个数");

 var fu = prompt("请输入运算符")

 var two = prompt("请输入第二个数");

 switch(fu){

            case "+":

            console.logNumber(one)+Number(two));

                break;

            case "-":

            console.logNumber(one)-Number(two));

                break

            case "*":

            console.logNumber(one)*Number(two));

                break;

            case "/":

            console.logNumber(one)/Number(two));

                break;  

            default :

            alert("请输入正确的运算符");    

            break;     

        }

2.编写一个函数,计算圆的面积并返回(圆的面积=圆的半径*圆的半径*3.14)。

var b =prompt("请输入圆的半径");

        function aa (){

            document.write("面积:"+(b*b)*3.14);

        }

        aa();

3.编写一个函数,从页面接收一个字符串,判断该字符串是不是纯数字,返回判断结果

var a = prompt("请输入一个字符串");

        function is (){

            if(isNaN(a)==false){

                document.write("是数字");

            }else{

                document.write("不是数字");

            }   

        }

        is();

注意:isNoN:判断值是否为数字 如果是数组返回FALSE 如果不是数字返回true

4.编写一个函数,计算三个数字的大小,按照从小到大的顺序输出

 //方法1: var a = parseInt(prompt("输入第一个数")) ;

           var b = parseInt(prompt("输入第一个数")) ;

           var c = parseInt(prompt("输入第一个数")) ;

       var shuzu = [a,b,c];

           document.write(shuzu.sort()) 

//方法2: function show(){

            for (var index = 0index < shuzu.length-1index++) {

               for (var j = 0j < shuzu.length-1-indexj++) {

                   if(shuzu[j]>shuzu[j+1]){

                    var one =shuzu[j+1];

                    shuzu[j+1]=shuzu[j];

                    shuzu[j]=one;

                   }

               } 

           }

           document.write(shuzu);

          }

          show();

注意:方法二用的是冒泡排序 步骤为:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

3.针对所有的元素重复以上的步骤,除了最后一个。

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

5.定义一个函数 filter(),可以传入多个参数,然后筛选出参数中大于 0 的数字,打印到控制台

function filter(){

          for (var index = 0;index<10index++) {

             aa =parseInt(prompt("输入一个人数"));  

            if(aa>0){

                console.log(aa);

            }

          }

        }

        filter();

6.某公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加盟的,加密的规则如下 :每位数字都加上 5,然后用除以 10 的余数代替该数字,在将第一位和第四位交换,第二位和第三位交换,请编写一个函数,传入原数据,返回加密后的数据

var pwd = prompt("输入密码");

        function mima(){

            var ge = parseInt((pwd%10)+5%10);

            var shiparseInt((pwd/10%10)+5%10);

            var baiparseInt((pwd/100%10)+5%10);

            var qianparseInt((pwd/1000)+5%10);

            //第一位和第四位交换

            var aa=ge;

            ge = qian ;

            qian =aa;

            //第二为跟第三位交换

            var bb =shi;

            shi = bai;

            bai =bb;

            alert("加密完:"+qian+bai+shi+ge);

        }

        mima();

注意:交换的时候 需要一个第三方 比如 把1和2 交换位置 需要首先把1放到一个容器里 把2放到1的位置 最后把1放到2的位置即可

猜你喜欢

转载自blog.csdn.net/qq_45310795/article/details/126497051
今日推荐