zoukankan      html  css  js  c++  java
  • JavaScript知识点:分支结构(if、switch)+算法例题

    if-else分支
    1.if条件应该是boolean类型的值或表达式
    2.如果条件不是Boolean,会进行自动转换
    以下几种情况会默认转换为 false:
    if(0)、if(0.0)
    if(NaN)、if(undefined)
    if("")、if(null)
    if(false)
    switch-case执行流程:
    1.解析变量或表达式中的值
    2.用解析出来的值与case后的值进行比较 等值运行代码块
    3.如果值不相等,就执行default:后的代码块
    switch直落模式:
    两个或多个case之间没有任何操作代码,表示这两个或多个块要执行同样的代码块,如:
    switch(变量/表达式){
    case 值1:
    case 值2:
    case 值3:
    语句块;
    break;
    default:语句块;
    break;
    }

    以下是一些算法题的代码:(执行时需要改变函数的函数名调用每一个例题函数执行)

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>分支结构</title>
      6 </head>
      7 <body>
      8     <!-- 编写一个收银程序,根据商品的单价、购买的数量以及收款金额计算并输出应收金额和找零 -->
      9     <script type="text/javascript">
     10         function getMoney(){
     11             // 定义输入变量:商品单价price、购买的的数量count、
     12             //                  收款金额money
     13             var price,cont,money;
     14             //定义输出变量:消费金额sumPrice、找零coins 
     15             var sumPrice,coins;
     16             // 弹框接受输入的值:单价、数量
     17             price = prompt("请输入商品单价:");
     18             count = prompt("请输入商品数量:");
     19             // 计算商品总价
     20             sumPrice = price*count;
     21             // 判断是否打折
     22             if(sumPrice>=500){
     23                 sumPrice *=0.8;
     24                 alert("您消费到达500,享受8折优惠!");
     25             }
     26             alert("您共消费:"+sumPrice+"元");
     27             // 接受付款金额
     28             money = prompt("请付钱:");
     29             //判断付款金额是否大于消费金额
     30             if(money >= sumPrice){
     31                 // 计算找零
     32                 count = money - sumPrice;
     33                 alert("找您:"+count);
     34             }
     35             else
     36                 alert("钱不够!");
     37             
     38         }
     39         getMoney();//函数调用口
     40     </script>
     41     <script type="text/javascript">
     42         //1. 通过弹框输入年月日,判断该日是这一年的第多少天?
     43         function ymd(){
     44         // 定义输入变量
     45         var year = prompt("请输入年份:");
     46         var month = prompt("请输入月份:");
     47         var date = prompt("请输入日期:");
     48         // 通过月份判断
     49         switch(Number(month)){
     50                 case 1:month =0;break;
     51                 case 2:month=31;break;
     52                 case 3:month=59;break;
     53                 case 4:month=90;break;
     54                 case 5:month=120;break;
     55                 case 6:month=151;break;
     56                 case 7:month=181;break;
     57                 case 8:month=212;break;
     58                 case 9:month=243;break;
     59                 case 10:month=273;break;
     60                 case 11:month=304;break;
     61                 case 12:month=334;break;
     62         }
     63         date=month + Number(date);            
     64         // 判断输入年份是否是闰年
     65         if((year%4==0 && year%100!=0) || year%400==0){
     66             if(month>=2)
     67                 date +=1;
     68             }
     69         console.log("今天是今年的第:"+date+"天");
     70         }
     71         // 2.模拟电话银行按键程序
     72         function bank(){
     73             // 通过switch选择系统功能
     74             var press = prompt("请输入数字选择功能(1.查询余额2.取款3.转换4.退出系统):");
     75             switch(Number(press)){
     76                 case 1:seek();break;
     77                 case 2:draw();break;
     78                 case 3:change();break;
     79                 case 4:exit();break;
     80             }
     81             function seek(){
     82                 console.log("余额查询中……");
     83             }
     84             function draw(){
     85                 console.log("取款进行中……");
     86             }
     87             function change(){
     88                 console.log("转账进行中……");
     89             }
     90             function exit(){
     91                 console.log("退出系统,谢谢使用!");
     92             }
     93         }
     94         // 3.买保险
     95         // 已婚都可以买
     96         // 未婚男<25不买
     97         // 未婚女<22不买 
     98         function insure(){
     99             // 弹框接受员工信息:婚否、性别、年龄
    100             var isMarry = prompt("是否已婚(Y|N):");
    101             var sex = prompt("请输入性别(M|W):");
    102             var age = prompt("请输入年龄:");
    103             if(isMarry=="Y"){
    104                 console.log("公司为您提供保险!");
    105             }else if ((sex=="M" &&age<25)||(sex=="W" && age<22)) {
    106                 console.log("不满足公司提供保险条件!");
    107             }else{
    108                 console.log("满足公司提供保险条件!");
    109             }
    110         }
    111         // 4.某超市促销活动
    112         // 会员总价>100 八折 <100 9折
    113         // 非会员>100 九折 <100 不打折
    114         function superMk(){
    115             //弹框询问是否是会员(0|1)
    116             //弹框询问商品总价格
    117             //定义变量:是否会员isVIP、价格price
    118             var isVIP = prompt("是否是会员(0|1):");
    119             var price = prompt("商品总价格为:");
    120             // 判断是否是会员
    121             if(isVIP==1){
    122                 if(price>100){
    123                     price = price *0.8;
    124                     console.log("您是会员且购买金额超过100可以打八折");
    125 
    126                 }else{
    127                     price = price * 0.9;
    128                     console.log("您是会员可以打九折!");
    129                 }
    130             }else if(price>100){
    131                     console.log("您购买金额超过100可以打九折!");
    132                     price = price *0.9;
    133             }
    134             console.log("您需要付款:"+price+"元");
    135         }
    136         // 5.计算1-100之间的和、乘积
    137         function sumPro(){
    138             var sum=0,product = 1;
    139             for(var i=1;i<=100;i++){
    140                 sum += i;
    141                 product *= i;
    142             }
    143             console.log("和为:"+sum,"乘积为:"+product);
    144         }
    145         // 6.九九乘法表
    146         // 1*1=1
    147         // 1*1=1 1*2=2
    148         function multTable(){
    149             for (var i = 1; i <= 9; i++) {
    150                 for (var j = 1; j <=i; j++) {
    151                     var mult = i*j;
    152                     document.write(j + "*" + i + "=" + mult);
    153                     
    154                 }
    155                 document.write("<br/>")
    156             }
    157         } 
    158         multTable();//函数调用口
    159 
    160     </script>
    161 </body>
    162 </html>
  • 相关阅读:
    云计算架构
    Java多线程中static变量的使用
    Spring单例与线程安全小结
    sparkSQL实战详解
    sparkSQL整体实现框架
    spark架构
    如何快速定位出一个IP地址的归属地?——二分查找变体
    如何在 1000 万个整数中快速查找某个整数?——二分查找
    语言库中常用的排序算法qsort()底层结构
    链表常考笔试面试题(常备)
  • 原文地址:https://www.cnblogs.com/blogzzy/p/11234562.html
Copyright © 2011-2022 走看看