前端基础练习题

2023-05-16

/*
    变量命名规则:
    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分别表示百十个位
      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("不是数字!");
            }

        }
    //上面的这种做法:每判断一个字符,就得出一个结论。
  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+ '> 次!');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端基础练习题 的相关文章

  • 论文阅读:带有物体级重定位的视觉惯性多实例动态SLAM

    带有物体级重定位的视觉惯性多实例动态SLAM Ren Y Xu B Choi C L et al Visual Inertial Multi Instance Dynamic SLAM with Object level Relocalis
  • Ubuntu内存清理经验整理

    本文档用于整理记录清理ubuntu内存过程中的经验 首先 xff0c 可以使用内置程序 Disk Usage Analyzer 分析 xff0c 直观看到哪些文件夹占用内存较大 另外 xff0c 也可以使用指令du sh sort h查看当
  • 论文阅读 | LOAM:实时Lidar里程计和建图

    Zhang J Singh S LOAM Lidar odometry and mapping in real time C Robotics Science and Systems 2014 2 9 1 9 64 inproceeding
  • 一招解决由于找不到vcruntime140_1.dll,无法继续执行代码

    电脑系统丢失vcruntime140 1 dll文件 xff0c 会导致很多软件跟游戏打不开 xff0c 也无法运行 xff0c 比如常见的ps xff0c pr xff0c 吃鸡游戏等等 那需要我们怎么修复呢 xff1f 相信这个问题困扰
  • 终端/Vscode + GDB调试C++程序

    CMakeLists中需要设置编译类型为Debug set CMAKE BUILD TYPE Debug 下载gdb调试器 span class token function sudo span span class token funct
  • k8s节点加入集群

    k8s节点加入集群流程及常见问题 移除docker yum remove docker docker client docker client latest docker common docker latest docker latest
  • pulsar常用命令

    创建安全认证key bin pulsar tokens create secret key output data admin secret key 创建角色 xff0c 生成token bin pulsar tokens create s
  • 转-docker入门

    Docker入门教程 xff08 详细 xff09 JWei 7的博客 CSDN博客 docker 入门教程
  • 用Bmob实现用户数据添加和查询显示

    我用的例子利用Bmob云服务器实现了让用户上传待出售商品信息 xff0c 以及能浏览在售商品信息的小功能 刚接触Bmob感觉它确实好用 xff0c 但我不得不吐槽那个案例更新的太慢了 xff0c 新版本的SDK跟老版本还是有很大差别的 xf
  • linux中的文件移动

    Linux不同于Windows xff0c 在Windows操作系统中我们只需要傻瓜式的将文件用鼠标拖到目标文件夹即可 xff0c 但是在Linux中移动文件却不是那么的简单 以Ubuntu16 04为例说一下Linux中的文件的移动 1
  • android顶部回退按钮的实现

    最近看来好多关于android顶部导航栏回退的实现 如下图效果 点击返回上级页面 xff0c 网上的大部分都实现特别繁琐 xff0c 其实安卓自带BUFF 在Manifest清单文件中一句代码就能搞定 xff0c 特别easy xff0c
  • 树莓派与Android客户端进行socket通信

    首先 xff0c 需要对树莓派进行配置 xff0c 使其成为AP热点 xff0c 这里我用的树莓派3B自带wifi蓝牙模块 xff0c 树莓派3B作AP热点的方法具体参考https blog csdn net u014271612 arti
  • android客户端控制树莓派GPIO点亮LED灯

    首先需要android客户端与树莓派进行连接 xff0c 树莓派与android客户端利用wifi连接并进行socket通信请参考我的另一片文章 xff1a https mp csdn net postedit 79911322 树莓派与A
  • 百度2014校园招聘 软件研发工程师 笔试题

    一 简答题 xff08 本题共30 xff09 1 动态链接库和静态链接库分别有什么优缺点 xff1f xff08 10 xff09 2 轮询任务调度与抢占式任务调度的区别 xff1f xff08 10 xff09 3 请列出数据库中常用的
  • java基础编程案例

    java编程案例 案例一 xff1a 飞机票查看优惠系统案例二 xff1a 获取素数案例三 xff1a 验证码模块案例四 xff1a 数组元素的复制案例五 xff1a 评委打分案例六 xff1a 数字加密程序案例七 xff1a 模拟双色球系
  • Java基础之集合框架--Collections工具类之max()方法

    max 方法一个参数的源码 xff1a public static lt T extends Object amp Comparable lt super T gt gt T max Collection lt extends T gt c
  • python创建一个txt文件

    创建一个txt文件 xff0c 文件名为mytxtfile 并向文件写入msg 注意文件的路径不要错 xff0c 还有文件的格式 创建一个txt文件 xff0c 文件名为mytxtfile 并向文件写入msg def text create
  • Android--Jetpack的使用(一)

    目录 1 ViewModel 2 ViewModel 43 LiveData 3 ViewModel 43 LiveData 43 dataBinding 4 ViewModel 43 SavedStateHandle 43 LiveDat
  • Git 常用命令

    一 Git常用命令 1 配置用户名 xff08 上传代码的用户名 xff09 xff1a git config global user name 34 ljs 34 2 配置用户邮箱 xff08 其他作者联系你的邮箱 xff09 xff1a
  • 游戏开发图书推荐--我读过的技术经典图书

    很多同学问我学游戏开发应该看些什么书 xff0c 我在这里抛砖引玉 xff0c 给一份推荐表 xff0c 希望大家共同提高 由于本人英文不太好 xff0c 推荐的大部书籍都是国人编写的 xff0c 有些经典的外文图书可能是翻译不好 xff0

随机推荐

  • Git中使用.gitignore忽略文件的推送

    1 简介 在使用Git管理自己的代码版本时 xff0c 由于编译生成的中间文件 xff0c Git使用SHA 1算法来对文件进行加密 xff0c 进而得出来一个40位的十六进制加密字符串 325525d8b1f67b5ddd37956a8a
  • AFNetWorking3.0处理请求头和请求内容

    今天要处理用户的相关信息 xff0c 需要在HTTP请求中添加请求头 xff0c 网上大部分资料都是针对AFNetWorking2 0的 xff0c 我用3 0版本实现了相关功能 xff0c 见下面代码 首先是请求的URL xff0c sp
  • chrome浏览器安装插件,提示程序包无效

    chrome浏览器安装插件的时候 xff0c 如果提示 程序包无效 xff1a CRX HEADER INVALID xff0c 导致插件安装不上去 xff0c 这个时候该怎么办呢 xff1f 通常 xff0c 这种错误在chrome浏览器
  • viewpage+radiogroup

    lt xml version 61 34 1 0 34 encoding 61 34 utf 8 34 gt lt LinearLayout xmlns android 61 34 http schemas android com apk
  • 线程执行设置超时时间

    import java util concurrent 记录 xff0c 备忘 线程执行设置超时时间 public class Main2 定义线程池 xff0c 推荐手动创建线程池 xff1a https blog csdn net LL
  • Java集合工具类Collections常用方法详解

    文章目录 1 Collections介绍2 Collections常用方法2 1 reverse 2 2 sort 2 3 swap 2 4 min 和max 2 5 copy 2 6 fill 2 7 replaceAll 2 8 shu
  • 智慧小区智能物业管理系统综合解决方案

    因为传统的办公方式效率低 xff0c 工作强度大 人们需耗费大量的时间和精力去手工处理那些繁杂 重复的工作 xff0c 而手工处理的延时和差错 xff0c 正是现代化管理中应该去除的弊端 又由于物业管理企业的启动基金不足 xff0c 多种经
  • LAMP基础搭建

    目录 一 LAMP 1 LAMP环境 2 组成部分 xff08 1 xff09 Linux xff08 平台 xff09 xff08 2 xff09 Apache xff08 前台 xff09 xff08 3 xff09 Mysq xff0
  • python获取子窗口句柄

    2022 09 17 python获取子窗口句柄 python获取窗口句柄 python获取进程 python获取电脑微信小游戏的窗口句柄 上图为按键精灵的工具 python3 xff0c 简单的获取了下句柄 xff0c 想改改内存的 xf
  • Linux多线程编程(三)-----生产者与消费者(条件变量,信号量)

    Linux多线程编程 xff08 一 xff09 xff1a http blog csdn net llzk article details 55670172 Linux多线程编程 xff08 二 xff09 xff1a http blog
  • 微策略的笔试题

    觉得在收获Offer的季节应该为自己积累些人品了 xff0c 在这里将今天的情况向所有求Offer的童鞋分享下 从上个周末开始反应迟钝的我终于有了些求Offer的感觉 xff0c 几天参加了4场面试 xff0c 基本上没觉得有很大的挑战 x
  • 线程池定时任务添加任务以及停止线程

    最近有个需求 就是项目启动的时候需要创建个线程池去执行 而且有时间周期 而且根绝不同的情况可以随时通过接口停止该线程 1首先创建个线程池 默认核心为10 static ScheduledExecutorService threadPool
  • 冰冻三尺非一日之寒-自学篇 浅谈个人学习方法

    昨晚还在看比赛 xff08 war3 xff09 xff0c 小源跑过来问我明天1024 xff0c 不写篇文章么 xff0c 想想也是 xff0c 1024这也算个热点 xff0c 赶紧来蹭蹭 xff0c 哈 xff0c 开个玩笑 上次谈
  • 【附源码】Java计算机毕业设计社区团购服务系统(程序+LW+部署)

    项目运行 环境配置 xff1a Jdk1 8 43 Tomcat7 0 43 Mysql 43 HBuilderX xff08 Webstorm也行 xff09 43 Eclispe xff08 IntelliJ IDEA Eclispe
  • iOS---iOS10适配iOS当前所有系统的远程推送

    一 iOS推送通知简介 众所周知苹果的推送通知从iOS3开始出现 每一年都会更新一些新的用法 譬如iOS7出现的Silent remote notifications 远程静默推送 iOS8出现的Category 分类 也可称之为快捷回复
  • iOS总结_UI层自我复习总结

    UI层复习笔记 在main文件中 xff0c UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil xff0c 即创建的是UIApplication类型的对象 xff0c 此对象看成是整个
  • 【疯狂造轮子-iOS】JSON转Model系列之一

    1 前言 之前一直看别人的源码 xff0c 虽然对自己提升比较大 xff0c 但毕竟不是自己写的 xff0c 很容易遗忘 这段时间准备自己造一些轮子 xff0c 主要目的还是为了提升自身实力 xff0c 总不能一遇到问题就Google 之前
  • 解决fastboot 刷 system.img 尺寸限制问题

    fastboot S xxxM flash system system img 其中 S 后面为单次上传大小 C platform tools gt fastboot S 300M flash system system img sendi
  • 修改Gnome Terminal窗口的默认大小

    修改Gnome Terminal窗口的默认大小 以前一直比较别扭的是 xff0c Gnome Terminal窗口打开时总那么小 曾经找半天也不知道在哪里改 xff0c 甚至在官方论坛里也没查到 今天偶然间想到那个Preferred App
  • 前端基础练习题

    变量命名规则 xff1a 1 只能由字母 数字 下划线 美元符号组成 xff0c 并且不能以数字开头 2 变量命名要有意义 xff0c 杜绝a01 b0046 3 变量遵循小驼峰规则 第一个单词全小写 xff0c 从第二个单词开始 xff0