JS中有关分支结构循环结构以及函数应用的一些简单练习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中有关分支结构循环结构以及函数应用的一些简单练习的主要内容,如果未能解决你的问题,请参考以下文章