美文网首页
前端基础练习题

前端基础练习题

作者: BJ000 | 来源:发表于2019-10-29 21:03 被阅读0次

/*

    变量命名规则:

    1.只能由字母、数字、下划线、美元符号组成,并且不能以数字开头。

    2.变量命名要有意义,杜绝a01,b0046。

    3.变量遵循小驼峰规则:第一个单词全小写,从第二个单词开始,首字母大写。 myColorArray

        - 大驼峰:每个单词首字母大写。myDemo

        - C语言的风格:单词全小写,中间用下划线隔开。my_color_array

    4.变量名不能和系统关键字冲突。

    */

// (1) 循环求和:利用循环语句计算从100加到500的后的总和。

var sum = 0; //用于存放累加和的变量

    for (var i = 100; i < 501; i++){

        sum += i;

    }

    document.write(sum);

// (2) 字符判断:从键盘输入一个字符,判断这个字符是数字,

// 还是大写字母,还是小写字母,还是符号。

//输入字符串 adf 2332afd

    var content = prompt();

                //得到这个字符串的第一位的ascii码

                var code = content.charCodeAt(0);

                if (code >=48 && code <=57){

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

                }

                if( code >= 65 && code <= 90 ){

                    document.write("大写字母!");

                }

                if( code >= 97 && code <= 122 ){

                    document.write("小写字母!");

                }else {

                    document.write("符号!");

                }

 

// (4) 水仙花数:计算三位整数(100~999)的水仙花数。

// 水仙花数是指每一位的立方相加等于该数自己,比如153 = 1^3 + 5^3 + 3^3。

//从100遍历到999

    for (var i = 100; i < 1000; i++){

            //分别得到i的个十百位

            //百位:除以100再取整

            var a = parseInt(i / 100);

            //十位:除以10再取整,对10取余

            var b = parseInt(i / 10) % 10;

            //个位:对10取余

            var c = i % 10;

            //如果a、b、c的三次方之和等于i本身,那就是水仙花数

            //if在for中起了过滤的作用

            if ( a*a*a + b*b*b + c*c*c == i ){

                document.write(i + "<br/>");

            }

        }

    //抽象一下:用i、j、k分别表示百十个位

    1

      for (var i = 1; i < 10; i++){

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

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

//                    document.write(i+""+j+""+k+"<br/>");

                    //进行if判断,过滤

                    var number = i*100 + j*10 + k;

                    if ( i*i*i + j*j*j + k*k*k ==  number){

                        document.write(number + "<br/>");

                    }

                }

            }

        }

   

// (5) 次方计算:计算X的Y次方,X(底数)和Y(指数)的值由用户输入。

//次方:2^3: 2 * 2 * 2 2^-3: 1/2*2*2 公理:任何数的0次方都为1

    var x = parseInt(prompt("请输入底数:")); //2

        var y = parseInt(prompt("请输入指数:")); //3

        //保存相乘的结果

        var result = 1;

        /*

        1: result 1      2 = 1 * 2

        2:  result 2      4  = 2 * 2

        3: result 4        8  = 4 * 2

        4:result 8

        */

        if (y>0){

            //对y是正数的情况下的处理

            for ( var i = 0; i < y; i++){

                result = result * x;

            }

        }else{

            //y是负数,让y等于正数

            for ( var i = 0; i < -y; i++){

                result = result * x;

            }

            //将result求倒

            result = 1 / result;

        }

        document.write(result);

// (6) 统计字符:从键盘输入一个字符串,统计这个字符串当中包含几个大写字母,

// 几个小写字母,几个数字,几个特殊符号。

//输入字符串

    var content = prompt("请输入字符串:"); //1234abc

//        document.write(content.length);

        //定义一些变量去保存个数

        var countNumber = 0;

        var countBig = 0;

        var countSmall = 0;

        var countChar = 0;

        //遍历字符串的每一位 1a2b3C

        for ( var i = 0; i < content.length; i++){

            //得到当前位的ascii码

            var code = content.charCodeAt(i);

            //判断这一位字符是在哪个区间

            if (code >=48 && code <=57){

                countNumber ++;

            }else if( code >= 65 && code <= 90 ){

                countBig ++;

            }else if( code >= 97 && code <= 122 ){

                countSmall ++;

            }else {

                countChar ++;

            }

        }

        document.write("数字的个数:"+countNumber + "<br/>");

        document.write("大写的个数:"+countBig + "<br/>");

        document.write("小写的个数:"+countSmall + "<br/>");

        document.write("字符的个数:"+countChar + "<br/>");

 

// (7) 抓球问题:有红球5个,黑球7个,白球9个,随机取出12个,

// 计算可能的颜色组合有多少种?

    var count = 0;

        //用三个循环变量分别代表三种球

        for (var r = 0; r <= 5; r++){

            for (var b = 0; b <= 7; b++){

                for (var w = 0; w <= 9; w++){

                    //筛选满足我们条件的情况

                    if ( r + b + w == 12){

                        document.write("红球:" + r + ", 黑球:" + b + ", 白球:" + w +"<br/>");

                        count++;

                    }

                }

            }

        }

        document.write("种数为:" + count);

(8) 组合问题:用1元纸币兑换1分,2分和5分的硬币,要求兑换总数为50枚,

// 问可以有多少种组合,每种组合对应1分,2分,5分分别是多少?

//i代表1分,j代表2分,k代表5分

  var count = 0; //计数器

        for(var i = 0; i <= 100; i++){

            for ( var j = 0; j <= 50; j++){

                for ( var k = 0; k <= 20; k++){

                    //过滤总数为50且面值和为100分的情况

                    if (i+j+k==50 && i+2*j+5*k == 100){

                        document.write(i + ", " + j + ", " + k +"<br/>");

                        count ++;

                    }

                }

            }

        }

        document.write(count);

// (9) 九九乘法表:尝试用for循环完成九九乘法表输出。要求:三角形输出。

    for(var i=1;i<10;i++) {

            document.write("<br>");

            for (var j=1; j <= i; j++) {

                if(i*j<10){

                    document.write("&nbsp&nbsp");

                }

                document.write(i + "*" + j + "=" + i * j + "&nbsp&nbsp&nbsp");

                }

        }

// (10) 字符串判断:从键盘输入一个字符串,

// 判断该字符串是否可以被转换为一个有效的数字。正整数

//123 abc 判断每一位的ascii码是否都在数字的区间

  var content = prompt("请输入:");

        for ( var i = 0; i < content.length; i++ ){

            //获取当前位的ascii码

            var code = content.charCodeAt(i);

            if (code >= 48 && code <=57){

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

            }else{

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

            }

        }

 

    //上面的这种做法:每判断一个字符,就得出一个结论。

    1

  var content = prompt("请输入:");

        //利用一个变量打标记

        var isNumber = true; //是true就是纯数字,是false就不是纯数字。

        //123a45  12345

        for ( var i = 0; i < content.length; i++ ){

            //获取当前位的ascii码

            var code = content.charCodeAt(i);

            //判断是否有某一位不是数字区间的情况

//            if ( !(code >= 48 && code <=57)){

            if ( code < 48 || code > 57){

                isNumber = false;

                break;

            }

        }

        //通过前面的逻辑处理,已经得到了一个结果。isNumber

        if ( isNumber ){

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

        }else{

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

        }

// (11) 用户输入一个数字,倒序输出,并计算每一位数字的和。

方法一:

        var content = prompt('input:');

        var sum = 0;

        //abcd

        for ( var i = content.length - 1; i >= 0; i--){

            document.write(content[i]);

            sum = sum + parseInt(content[i]);

        }

        document.write(sum);

    方法二:

        var number = parseInt(prompt('input:'));

        var sum = 0;

        while (number){

            var value = number%10;

            document.write(value);

            sum = sum + value;

            number = parseInt(number / 10);

        }

        /*

        1.number 1234  value 4  sum 4 = 0 + 4  number 123

        2.number 123    value 3  sum 7 = 4 + 3  number 12

        3.number 12    value 2  sum 9 = 7 + 2  number 1

        4.number 1    value 1  sum 10 = 9 + 1  number 0

        5.number 0 - 循环结束

        */

        document.write("<br/>"+sum);

// (12)猜数字游戏,猜数字游戏,系统随机生成一个1000以内的数字,

// 用户输入一个数字,如果输入数字大于系统数字则提示‘大了’,反之提示‘小了’,

// 直到相等游戏结束,提示‘通关’ 并输出猜测次数。(提示:用到Math模块)

//Math.random()生成一个0-1的随机数

var randomNumber = parseInt(Math.random() * 1000);

// document.write(randomNumber + “

”);

// var count = 0; //计数器

//猜测一万次

// var randomNumber = parseInt(Math.random() * 1000);

// document.write(randomNumber + “

”);

// var count = 0; //计数器

//猜测一万次

// for ( var i = 0; i < 10000; i++){

//死循环

      while(true){

            count ++;

            var myNumber = parseInt(prompt('请输入数字:'));

            //比较我输入的和随机的这个数是否一致

            if( myNumber > randomNumber ){

                document.write('大了!');

            }else if ( myNumber < randomNumber ){

                document.write('小了!');

            }else{

                document.write('恭喜通关!');

                break;

            }

        }

        document.write('总共猜测了 <' + count+ '> 次!');

相关文章

  • 前端基础练习题

    /* 变量命名规则: 1.只能由字母、数字、下划线、美元符号组成,并且不能以数字开头。 2.变量命名要...

  • 前端基础进阶系列

    前端基础进阶(一):内存空间详细图解前端基础进阶(二):执行上下文详细图解前端基础进阶(三):变量对象详解前端基础...

  • 前端练习题

    请写出一个符合 W3C 规范的 HTML 文件,要求 页面标题为「我的页面」页面中引入了一个外部 CSS 文件,文...

  • 好程序员web前端教程分享前端javascript练习题二

    好程序员web前端教程分享前端 javascript 练习题二,创建表格,添加删除操作 介绍:这是用基本的方式,更...

  • 前端入门系列

    前端HTML & CSS 基础入门(1)初识 前端HTML & CSS 基础入门(2)段落及文本 前端HTML &...

  • 好程序员web前端教程分享前端javascript练习题一

    好程序员web前端教程将会为大家持续分享前端javascript练习题系列。 Math 对象 1.编写一个函数,获...

  • 二、flask开发基础与入门

    一、web开发基础 1、前端知识 前端开发基础: HTML CSS JavaScript 前端常用的库与框架: b...

  • 【350页】前端校招面试题及解析大全

    前言 前端校招面试题主要内容包括html,css,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据...

  • 前端 javascript 练习题

    前端 javascript 练习题 函数 1.编写任意个数字的求和、差、积、商的函数 思路分析:首先求任意个数,因...

  • web前端入门基础

    web前端基础笔记 学习web前端开发基础技术需要掌握:HTML、CSS、JavaScript语言。下面我们就来了...

网友评论

      本文标题:前端基础练习题

      本文链接:https://www.haomeiwen.com/subject/qlsivctx.html