js练习题
- 获取1-100之间的所有偶数
<script>
for(var i = 1;i <= 100;i++){
if(i % 2 == 0){
console.log(i);
}
}
for(var a = 2;a <= 100;a+=2){
console.log(a);
}
</script>
- 计算1-100的积
<script>
var num = 1;
for(var n = 1; n<= 10;n++){
num *= n;
// console.log(num,n);
}
console.log(num);
</script>
- 大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?
<script>
var n = 0;
for(var x = 0;x <= 100;x++){
for(var y = 0;y <= 100;y++){
for(var z = 0;z <= 100;z++){
if(x + y + z == 100 && x * 2 + y + z / 2 == 100){
// console.log(`大马${x}匹; 中马${y}匹; 小马${z}匹`);
n++;
}
}
}
}
console.log(n);
</script>
- 公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?
<script>
var a = 1;
for(var i = 1;i < 7;i++){
a = (a + 1) * 2;
}
console.log(a);
</script>
- 1~100之间不能被3整除的数之和
<script>
// 声明一个变量,用于存储所有满足条件的数之和
var sum = 0;
// 1~100 循环 不能被3整除的数 判断条件 之和 运算符
// 找出1~100之间所有的数字
for(var i = 1; i <= 100; i++){
// 判断不能被3整除的数 取模 % i对3取模 为0
if(i % 3 != 0){
// 累加 +=
sum += i; // 当i为1时,sum = 0+1; 当i为2时,sum = 1+2,...
}
}
alert('1~100之间不能被3整除的数之和是' + sum);
</script>
- 输入显示的次数,按照你输入的次数显示“班训:快乐学习,认真生活!”,应该怎么写?
<script>
// 输入显示次数 prompt() 需要存储起来你输入的值 循环
// 输入显示次数
var num = prompt('请输入显示次数:') * 1;
// 循环范围 0-num
for(var i = 0; i < num; i ++){
document.write('班训:快乐学习,认真生活!<br />');
}
</script>
-
循环录入Javascript课的学生成绩,统计分数大于等于 80分的学生比例
分析
- 通过循环,获得分数大于等于80分的学生人数num
- 判断:如果成绩**<80**,不执行num++,直接进入下一次循环
<script>
// 循环 prompt 大于等于 80分 条件 学生比例
// 满足条件的总人数和班级总人数
// 输入班级总人数
var sumNum = prompt('请输入班级总人数:');
// 满足条件的总人数初始化
var num = 0;
// 循环所有学生
for(var i = 0; i < sumNum; i++){
// 大于等于 80分
var score = prompt('请输入第' + (i + 1) +'位同学的成绩:');
if(score >= 80){
num++;
}
}
//输出满足条件的学生的比例
document.write('分数大于等于80分的学生比例是:' + num/sumNum)
</script>
- 香蕉3元一个,橘子2元一个,草莓1元一个。现在想用200元买100个水果,在浏览器中列出所有可能性。
<script>
// 第一种方法
// banana 0~100 香蕉的个数,
// orange 0~100 橘子的个数,
// stawberry 0~100 草莓的个数
// banana * 3 + orange * 2 + strawberry * 1 = 200
// banana + orange + strawberry = 100
for(var banana = 0; banana <= 100; banana++){
for(var orange = 0; orange <= 100; orange++){
for(var strawberry = 0; strawberry <= 100; strawberry++){
if(banana * 3 + orange * 2 + strawberry * 1 == 200 && banana + orange + strawberry == 100){
document.write('你可以买' + banana + '个香蕉; ' + orange + '个橘子; ' + strawberry + '个草莓; <br />')
}
}
}
}
/*
第二种方法
banana * 3 + orange * 2 + strawberry * 1 = 200
banana + orange + strawberry = 100
banana * 2 + orange = 100
orange = 100 - banana * 2
banana + 100 - banana * 2 + strawberry = 100
strawberry = banana
banana + strawberry <= 100
banana <= 50 // 循环条件
*/
var orange, strawberry;
// 所有香蕉个数的可能性
for(var banana = 0; banana <= 50; banana++){
orange = 100 - banana * 2;
strawberry = banana;
document.write('你可以买' + banana + '个香蕉; ' + orange + '个橘子; ' + strawberry + '个草莓; <br />')
}
</script>
- 会员卡四位数求和, 第一个数字大于0,会员卡四位数求和大于20时将返利50元,否则不返利。
<script>
// 先输入会员卡prompt, 会员卡四位数求和 大于20
// 先输入会员卡号
// 取一个四位数中的个,十,百,千位上面的数字
// var num = 2356;
// var q = parseInt(num / 1000); // 千位
// var b = parseInt((num - q * 1000)/100); // 百位
// var s = parseInt((num - q * 1000 - b * 100) / 10); // 十位
// var g = num - q * 1000 - b * 100 - s * 10; // 各位
// 2356/1000 2.356 parseInt(2.356)
// 2356-q*1000 356
// console.log(g);
// console.log(parseInt((num - q * 1000)/100)); // 期望值是3
var cardNum = prompt('请输入您的会员卡号:');
// 拿到四位数
var q = parseInt(cardNum / 1000); // 千位
var b = parseInt((cardNum - q * 1000)/100); // 百位
var s = parseInt((cardNum - q * 1000 - b * 100) / 10); // 十位
var g = cardNum - q * 1000 - b * 100 - s * 10; // 各位
if(q + b + s + g > 20){
alert('恭喜您,您可以获得50元的返利!');
} else{
alert('很遗憾,您没有满足返利的条件!')
}
</script>
- 工资所得税工资超过3000的部分需要缴纳个人所得税,输出税后工资(税率为0.05)。
<script>
// 输入您的工资
var pay = prompt('输入您的工资');
// 判断是否满足交税的条件
if(pay > 3000){
// 计算你拿到的实际工资
// pay - (pay-3000) * 0.05
alert('你拿到的实际工资是:' + (pay - (pay-3000) * 0.05))
}
</script>
- 用户购买商品,三个商品中有一个超过50元,或者总价超过100元,即可以打八五折,否则不打折。
<script>
// 三个商品prompt 一个超过50元,或者总价超过100元 条件
// 输入商品
var goods1 = prompt('请输入第一个商品的价格:') * 1;
var goods2 = prompt('请输入第二个商品的价格:') * 1;
var goods3 = prompt('请输入第三个商品的价格:') * 1;
if(goods1 > 50 || goods2 > 50 || goods3 > 50 || goods1 + goods2 + goods3 > 100){
alert('您需要支付:' + (goods1 + goods2 + goods3) * 0.85);
} else{
alert('您需要支付:' + (goods1 + goods2 + goods3));
}
</script>
- 计算1!+2!+3!+…+10!的结果.
<script>
// 1! 1 2! 2*1
// 计算阶乘 计算10的阶乘 10! 10 * 9 *8 ..*1 累乘
var sum = 1;
for(var i = 1; i <= 4; i++){
sum *= i; // 1*1 1*1*2*3
}
// 这是所有阶乘之