案例一:搬桌子 年龄大于七岁男女都可以搬桌子,年龄小于七岁大于五岁的男生可以搬桌子;
????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中有关分支结构、循环结构以及函数应用的一些简单练习
原文地址:http://www.cnblogs.com/wq1994/p/7436001.html