第一题:
假设一个简单的ATM机的取款过程是这样的:
首先提示用户输入密码(password),
最多只能输入三次,超过3次则提示用户“密码错误,
请取卡”结束交易。如果用户密码正确,
再提示用户输入取款金额(amount),
ATM机只能输出100元的纸币,一次取钱数要求最低
100元,最高1000元。
若用户输入的金额符合上述要求,则打印输出用户取得钱数,
最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额。
假设用户密码是111111,请编程实现。
首先提示用户输入密码(password),
最多只能输入三次,超过3次则提示用户“密码错误,
请取卡”结束交易。如果用户密码正确,
再提示用户输入取款金额(amount),
ATM机只能输出100元的纸币,一次取钱数要求最低
100元,最高1000元。
若用户输入的金额符合上述要求,则打印输出用户取得钱数,
最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额。
假设用户密码是111111,请编程实现。
//银行卡取款问题 //循环三次,检测密码是否正确 for( var n = 1;n < 4;n++){ //输入密码检测是否正确 var password = parseInt(prompt("请输入您的取款密码")); //正确时,下一步 if(password == 111111){ //提示输入金额 var amount = parseInt(prompt("请输入您的取款金额")); //检测金额是否在100-1000且 被100整除 if( amount >=100 && amount <=1000 && amount % 100 == 0){ //通过时,打印输入的金额 alert("您已成功取款" + amount + "元"); //打印完成后提示 alert("交易完成,请取卡"); break; } //不通过时 ,提示重新输 else{ alert("输入金额错误,取卡"); break; } } else if(n <3){ alert("密码输入错误,请重新输入"); } else{ alert("密码错误,请取卡"); break; } }
第二题:
公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?
var t = 1; for(var d = 6;d >= 1; d--){ t = (t + 1) * 2 }if( d < 1){ alert("刚开始有" + t + "个桃子"); }
第三题:
有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,求棋盘上放的所有芝麻的重量
var b = 1; var c = 0; for(var a = 1;a <= 63;a++){ b = 2 * b; c = b + c; } alert("棋盘上芝麻重量总和为:" + (c + 1) * 0.00001 + "kg");
第四题:
大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?
for( var dm = 0; dm <= 50;dm++){ for( var zm = 0; zm <= 100;zm++){ for( var xm = 0; xm <= 200;xm++){ if(dm + zm + xm == 100 && (dm * 2) + (zm * 1) + (xm / 2) == 100){ document.write("大马:" + dm + "只," + "中马:" + zm + "只," + "小马:" + xm + "只," + "<br />"); } } } }
第五题:
实现1!+2!+3!+4!+5!+....+n!
n!为n的阶乘 等于 1 * 2 * 3 * 4.......* n
var n = parseInt(prompt("请输入一个数值")); var x = 1; var y = 0; for(i = 1;i <= n;i++){ x = x * i; y = x + y; } alert(n + "的阶乘和为:" + y);
第六题:
假设某人有100,000现金.每经过一次路口需要进行一次交费. 交费规则为当他现金大于50,000时每次需要交5%如果现金小于等于50,000时每次交5,000.请写一程序计算此人可以经过多少次这个路口
var m = 100000; var n = 0; while(m > 5000){ if(m > 50000){ m = m - (0.05 * m); }else{ m = m - 5000; } n++; } alert("总共会经过" + n + "次路口");
以下是完整代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> //银行卡取款问题 //循环三次,检测密码是否正确 /*for( var n = 1;n < 4;n++){ //输入密码检测是否正确 var password = parseInt(prompt("请输入您的取款密码")); //正确时,下一步 if(password == 111111){ //提示输入金额 var amount = parseInt(prompt("请输入您的取款金额")); //检测金额是否在100-1000且 被100整除 if( amount >=100 && amount <=1000 && amount % 100 == 0){ //通过时,打印输入的金额 alert("您已成功取款" + amount + "元"); //打印完成后提示 alert("交易完成,请取卡"); break; } //不通过时 ,提示重新输 else{ alert("输入金额错误,取卡"); break; } } else if(n <3){ alert("密码输入错误,请重新输入"); } else{ alert("密码错误,请取卡"); break; } } */ //第二题: /*var t = 1; for(var d = 6;d >= 1; d--){ t = (t + 1) * 2 }if( d < 1){ alert("刚开始有" + t + "个桃子"); }*/ //第三题: /*var b = 1; var c = 0; for(var a = 1;a <= 63;a++){ b = 2 * b; c = b + c; } alert("棋盘上芝麻重量总和为:" + (c + 1) * 0.00001 + "kg"); */ //第四题: /*for( var dm = 0; dm <= 50;dm++){ for( var zm = 0; zm <= 100;zm++){ for( var xm = 0; xm <= 200;xm++){ if(dm + zm + xm == 100 && (dm * 2) + (zm * 1) + (xm / 2) == 100){ document.write("大马:" + dm + "只," + "中马:" + zm + "只," + "小马:" + xm + "只," + "<br />"); } } } } */ //第五题: /*var n = parseInt(prompt("请输入一个数值")); var x = 1; var y = 0; for(i = 1;i <= n;i++){ x = x * i; y = x + y; } alert(n + "的阶乘和为:" + y);*/ //第六题: /*var m = 100000; var n = 0; while(m > 5000){ if(m > 50000){ m = m - (0.05 * m); }else{ m = m - 5000; } n++; } alert("总共会经过" + n + "次路口");*/ </script>