JS中有关分支结构、循环结构以及函数应用的一些简单练习
案例一:搬桌子 年龄大于七岁男女都可以搬桌子,年龄小于七岁大于五岁的男生可以搬桌子;
     var num =parseInt(prompt("请输入你的年龄"))
     var sex = prompt("请输入你的性别:男/女")
            if(num>=7){
            alert("你可以搬桌子哦")
        }
        else{
            if(num>=5&&sex=="男"){
                alert("你可以搬桌子哦")
            }
            else{
                alert("你还小,不可以搬桌子啊")
            }
        }
案例二:迷你计算器 : 输入两个数以及运算符号得出相应的运算结果。(本题使用switch ()case: 来做也很方便)
                      var num1 = parseFloat(prompt("请输入第一个数:"));
              var fu = prompt("请输入操作符号:");
              var num2 = parseFloat(prompt("请输入第二个数:"));
                    if(fu=="+"){
                 var result =num1+num2
            }
            else{
                if(fu == "-"){
                     var result =num1-num2
                }
                else{
                    if(fu == "*"){
                     var result =num1*num2
                }
                else{
                    if(fu == "/"){
                     var result =num1/num2
                }
                else{
                    alert("您的输入有误")
                }
                }
                }
            }
            alert("结果为:"+result);
案例三 根据年龄和成绩给学生评价:如果年龄 大于20岁,60分及以上给及格,60分以下告知回去准备补考;如果年龄小于20岁,成绩大于等于60分,夸奖他是个天才,如果成绩低于60分,告诉他不要气馁。
var num = parseFloat(prompt("请输入你的成绩"));
        var age =  parseInt(prompt("请输入你的年龄"));
        if(num>=60){
            if(age>=20){
                alert("恭喜你及格了!")
            }
            else{
                alert("你真是个天才!")
            }
        }
        else{
            if(age>=20){
                alert("回去准备补考吧,骚年!")
            }
            else{
                alert("你还小,再加油哟!")
            }
        }
案例四 企业发放奖金
var num =parseFloat(prompt("请输入您的利润_万元"));
             if(num<=10){
                 alert("您的奖金为"+num*0.1+"万元")
             }
             else if(num<=20){
                     alert("您的奖金为"+(10*0.1+(num-10)*0.075)+"万元")
                 }
             else  if(num<=40){
                     alert("您的奖金为"+(10*0.1+10*0.075+(num-20)*0.05)+"万元")
                 }
             else if(num<=60){
                     alert("您的奖金为"+(10*0.1+10*0.075+20*0.05+(num-40)*0.03)+"万元")
                 }
             else if(num<=100){
                     alert("您的奖金为"+(10*0.1+10*0.075+20*0.05+20*0.03+(num-60)*0.015)+"万元")
                 }
             elseif(num>100){
                     alert("您的奖金为"+(10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(num-100)*0.01)+"万元"
                 }
                 else{
                     alert("您的输入有误")
                 }
             }
案例五 找出所有的水仙花数
步骤:1、找出所有三位数:100~999
2、写出水仙花数的判定条件
for(var i = 100; i < 1000; i++) {
var a = i % 10;
var b = parseInt((i / 10) % 10);
var c = parseInt(i / 100);
if(i == a * a * a + b * b * b + c * c * c) {
document.write(i + "<br />");
}
}
案例六 输入一个月份确定其所在季度
方法一:
var moon=prompt("月份"); switch (true){
case moon>=1&&moon<=3:
document.write("第一季度");
break;
case moon>=4&&moon<=6:
document.write("第二季度");
break;
case moon>=7&&moon<=9:
document.write("第三季度");
break;
case moon>=10&&moon<=12:
document.write("第四季度");
break;
default:
document.write("输入无效");
break;
} 方法二:
switch (parseInt((month-1)/3)){
case 0:
document.write("第一个季度");
break;
case 1:
document.write("第二个季度");
break;
case 2:
document.write("第三个季度");
break;
case 3:
document.write("第四个季度");
break;
default:
document.write("输入有误");
break;
}
案例七:计算出1-100之间所有不能被3 整除的整数的和;当和大于或等于2000时终止计算;
               输出此时的和以及对应的数字.
            for(var num=1,sum=0;num<=100,sum<=2000;num++){
                if (num%3!=0) {
                    sum+=num;
                }
            }
            document.write("此时的和为"+sum+"<br />"+"对应的数为"+num)
            
案例八:输入某年某月某日,试确定这一天是这一年的第几天.
// 方法一:
// ① 拿到年月日
var year = parseInt(prompt("请输入 年份:"));
var mon = parseInt(prompt("请输入 月份:"));
var day = parseInt(prompt("请输入 日期:"));
// ② 根据月份求出当前月,之前的所有月份的天数和;
var days = 0;
for(var i=1; i<mon ; i++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
days += 31;
}else if(i==4||i==6||i==9||i==11){
days += 30;
}else { // 2月份多少天,需要判断是否是闰年
if(year%4==0&&year%100!=0 || year%400==0){
days += 29;
}else{
days += 28;
}
}
}
days += day; // 将当前月份的天数,加上
document.write("这是今年的第"+days+"天"); // 【第二种方法】
var days = 0;
// ② 根据月份求出当前月,之前的所有月份的天数和;
switch (mon-1){
case 11:
days += 30;
case 10:
days += 31;
case 9:
days += 30;
case 8:
days += 31;
case 7:
days += 31;
case 6:
days += 30;
case 5:
days += 31;
case 4:
days += 30;
case 3:
days += 31;
case 2:
if(year%4==0&&year%100!=0 || year%400==0)
days += 29;
else
days += 28;
case 1:
days += 31;
case 0:
days += 0;
}
days += day; // 将当前月份的天数,加上
document.write("这是今年的第"+days+"天"); // 方法三
var year=parseInt(prompt());
var month=parseInt(prompt());
var day=parseInt(prompt());
var feb=0;
var days=0; if(year%4==0&&year%100!=0||year%400==0) {
feb=29;}
else{feb=28;}
for (var i=1;i<month;i++) {
switch(i){
case 1:case 3:case 5: case 7: case 8: case 10: case 12:
days+=31;
break;
case 2:
days+=feb;
break;
case 4:case 6:case 9: case 11:
days+=30;
break;
default:
break;
}
}
days = days+day; alert(days);
案例九  山上有一口缸可以装50L水,现在里面有15L水,老和尚叫小和尚下山挑水,小和尚一次能挑5L水,
             请问小和尚要挑几次水才能把缸填满?
方法一:
for(var num=0,sum=3;sum<=10;num++) {
sum++; } document.write("小和尚需要挑水"+(num-1)+"次") 方法二: 计数器法*/ for(var sum=15,count=0; sum<50; sum+=5,count++)
{ }
document.write("小和尚一共挑了"+count+"次水");
案例十 输入任意一个整数(小于十位)求出它的位数
        var num = parseInt(prompt("请输入一个整数"))
        var count =0;
          do{
            num=  parseInt(num/=10)    ;
              count++;
          }while(num>0);
         document.write(count)
            
案例十一 输入一个数,将其倒序输出
          var num = parseInt(prompt("请输入一个整数"))
          while(num>0){
            var a=num%10;
           document.write(a);
           num=parseInt(num/10);
          }
        
案例十二 斐波纳切分数数列 1/2 2/3 3/5 5/8 8/13......
document.write(1+"/"+2+" "+2+"/"+3+" " );
for(var a=2,b=3,c,n=3;n<=20; c=b ,b=a+c,a=c,n++) { document.write(" "+b+"/"+(a+b))
if(n%5==0)
document.write( "<br />")
}
案例十二 斐波纳切数列   1,1,2,3,5,8,13,21,....
          document.write(1+" "+1+" ");
            for(var a=1,b=1 ,c,n=3;n<=20;  a=b,b=c,n++)
            {
                c=a+b,
                document.write(c+" ")
                if(n%5==0)
                document.write( "<br />")
            }
        
案例十三   编写一个程序最多接受十个数字,并且求出其中所有正数的和,
                 用户可以通过输入999来结束输入,统计用户输入的正数个数,并求出他们的和;
 
             for(var n=1,sum=0,a=0; n<=10;n++   )
             {
                var m =parseFloat(prompt("请输入第"+n+"个数"))
                if (m<0) {continue;}
                else if(m>0&&m!=999){
                    sum+=m
                    a++;
                }
                else{break;}
            }
            document.write("您输入正数有"+a+"个"+"<br />");
            document.write( "它们的和为"+sum);
JS中有关分支结构、循环结构以及函数应用的一些简单练习的更多相关文章
- js中的分支与循环
		一.js的分支结构 js的分支结构包括:if-else结构.多重if结构.嵌套if结构和switch-case结构 1.if-else结构 1.结构的写法: if(判断条件){ //条件为 ... 
- python分支和循环结构
		本文收录在Python从入门到精通系列文章系列 1. 分支结构 1.1 应用场景 迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构.然而仅有顺序结构并不能解决 ... 
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
		JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ... 
- JS中的运算符和JS中的分支结构
		JS中的运算符 1.算术运算(单目运算符) + .-.*. /. %取余.++自增 .--自减 +:两种作用,链接字符串/加法运算.当+两边全为数字时,进行加法运算:当+两边有任意一边为字符串时,起链 ... 
- java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)
		JAVA里面的程序运行流程分三大类: 1,顺序结构:顺序结构就是依次执行每一行代码 2,分支结构:分支结构就是按不同的条件进行分支 3,循环结构:一段代码依条件进行循环执行. 其中,分支结构有两大类: ... 
- 一文搞懂 js 中的各种 for 循环的不同之处
		一文搞懂 js 中的各种 for 循环的不同之处 See the Pen for...in vs for...of by xgqfrms (@xgqfrms) on CodePen. for &quo ... 
- Js中常用的字符串,数组,函数扩展
		由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ... 
- JS基础-----JS中的分支结构及循环结构
		[分支结构] 一.if-else结构 1.结构的写法:if(判断条件){ //条件为true时,执行if的{} }else{ //条件为false时,执行else的{} } 2.注意事项 ①else语 ... 
- JS中的分支结构
		if语句 语法: if (expression1) { } else if (expression2) { } else { } 执行机制: 先对expression1做判定,如果为真,执行对应的代码 ... 
- 刘强1109 JavaScript基础二(分支与循环结构)
		[if-else结构] 1.结构的写法: if(判断条件){ 条件为true时,执行if{} } else{ 条件为false时,执行else{} } 2.注意事项: ① else{}语句块,可以根据 ... 
随机推荐
- selenium 使用随笔
			今天闲来无事,有朋友问到,如何使用selenium.于是便便写了个简单的脚本,用于讲解其基础用法. selenium常用作web自动化测试.通过跟python或其他语言的结合,可以驱动浏览器,并在浏览 ... 
- [js高手之路] dom常用API【appendChild,insertBefore,removeChild,replaceChild,cloneNode】详解与应用
			本文主要讲解DOM常用的CURD操作,appendChild(往后追加节点),insertBefore(往前追加节点),removeChild(移除节点),replaceChild(替换节点),clo ... 
- decimal扩展方法(转换为字符串,去掉末尾的0)
			/// <summary> /// 转换为字符串,去掉末尾0 /// </summary> /// <param name="target">被 ... 
- 【CentOS7】yum 软件管理
			可选命令 检查 check (检查包错误) check-update(不使用本地缓存检查更新) 安装 install localinstall groupinstall reinstall(重新安装) ... 
- TP-Link路由器的设置向导
			TP-Link路由器的设置向导.. 一.准备工作: 1.首先是路由器的安装,主要是将路由器电源接上,并通电,然后就是网线的连接.如果是拨号上网用户,请将猫引出的网线插入到TP-Link路由器最特别的一 ... 
- 优秀的PE工具收藏
			优秀的PE工具收藏... ----------------------- ------------------------------------------<排名不分先后..自己喜欢的就是最好 ... 
- Python+Requests接口测试教程(1):Fiddler抓包工具
			本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ... 
- 迈向angularjs2系列(2):angular2指令详解
			一:angular2 helloworld! 为了简单快速的运行一个ng2的app,那么通过script引入预先编译好的angular2版本和页面的基本框架. index.html: <!DOC ... 
- python在windows和linux环境的进程对比
			1.fork进程:(1)在windows系统中不可以用fork来创建进程,linux可以,但是创建大量进程使用很不方便. 2.Process进程: import multiprocessing as ... 
- 基于FPGA的Sobel边缘检测的实现
			前面我们实现了使用PC端上位机串口发送图像数据到VGA显示,通过MATLAB处理的图像数据直接是灰度图像,后面我们在此基础上修改,从而实现,基于FPGA的动态图片的Sobel边缘检测.中值滤波.Can ... 
