欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript知识点:分支结构(if、switch)+算法例题

程序员文章站 2022-06-27 19:26:40
if-else分支 1.if条件应该是boolean类型的值或表达式 2.如果条件不是Boolean,会进行自动转换 以下几种情况会默认转换为 false: if(0)、if(0.0) if(NaN)、if(undefined) if("")、if(null) if(false) switch-ca ......

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>