条件判断练习
2021-10-18 本文已影响0人
心存美好
练习一
用户输入一个数字,然后判断这个数字能否被5、6整除的情况,根据情况弹出下面4种警告框:比如:
15=>弹出这个数字能被5整除,但是不能被6整除
18=>弹出这个数字能被6整除,但是不能被5整除
14=>弹出这个数字既不能能被5整除,也不能被6整除
var num=parseInt(prompt("请输入要判断的数字"));
if(num % 5 == 0 && num % 6==0){
console.log(num,"既能被5整除,也能被6整除");
}else if(num % 5 == 0 && num % 6 != 0){
console.log( num,"能被5整除,不能被6整除");
}else if(num % 5 != 0 && num % 6==0){
console.log(num,"不能被5整除,能被6整除");
}else{
console.log(num,"既不能被5整除,也不能被6整除");
}
练习二
用户输入一个数字,然后再输入一个数字。然后弹出警告框:
如果输入的两个数奇偶性相同,就弹出"你好,这两个数字奇偶性相同",
否则弹出这两个数奇偶性不同
方法一
var num1 =parseInt(prompt("请输入数字1"));
var num2 =parseInt(prompt("请输入数字2"));
if(num1%2==0 && num2%2==0){
console.log(num1,num2,"奇偶性相同");
}else if(num1%2!=0 && num2%2!=0){
console.log(num1,num2,"奇偶性相同");
}else{console.log(num1,num2,"奇偶性不相同");
}
方法一优化
var num1 =parseInt(prompt("请输入数字1"));
var num2 =parseInt(prompt("请输入数字2"));
if(num1%2==0 && num2%2==0 ||num1%2!=0 && num2%2!=0){
console.log(num1,num2,"奇偶性相同");
}else{console.log(num1,num2,"奇偶性不相同");
}
方法二
var num1 =parseInt(prompt("请输入数字1"));
var num2 =parseInt(prompt("请输入数字2"));
if(num1%2 == num2%2){
console.log(num1,num2,"奇偶性相同");
}else{console.log(num1,num2,"奇偶性不相同");
}
方法三通过和的奇偶性
var num1 =parseInt(prompt("请输入数字1"));
var num2 =parseInt(prompt("请输入数字2"));
if(num1+num2 % 2 == 0) {
console.log(num1,num2,"奇偶性相同" )
}else{
console.log(num1,num2,"奇偶性不相同" )
}
方法三优化
var num1 =parseInt(prompt("请输入数字1"));
var num2 =parseInt(prompt("请输入数字2"));
if(num1+num2 % 2) {
console.log(num1,num2,"奇偶性不相同" )
}else{
console.log(num1,num2,"奇偶性相同" )
}
方法三再优化
var num1 =parseInt(prompt("请输入数字1"));
var num2 =parseInt(prompt("请输入数字2"));
console.log(num1 + " " +num2 +"奇偶性"+((num1 + num2) % 2 ? "不相同" : "相同") )
练习三
某个公司要给员工发年终奖,为了奖励老员工,所以工作时间越长,发的越多,规则如下:
工作满0年 发月薪的1倍月薪年终奖,如果月薪大于8000,那么就是发1.2倍
工作满1年 发月薪的1.5倍月薪年终奖,如果月薪大于10000,那么就是发1.7倍
工作满2年,甚至更多 发月薪的3倍月薪年终奖,如果月薪大于12000,那么就是发3.2倍
用JS编写程序,让用户输入工作了几年,可以输入0,然后输入月薪。然后算年终奖。
方法一
var year =parseInt(prompt("请输入工作年限"));
var yuexin =parseInt(prompt("请输入薪资"));
var jiang=0;
if(year < 1){
if(yuexin > 8000){
jiang = yuexin *1.2;
}else{
jiang= yuexin *1;
}
}else if(year <2){
if(yuexin > 10000){
jiang = yuexin *1.7;
}else{
jiang= yuexin *1.5;
}
}else if(year <3){
if(yuexin > 12000){
jiang = yuexin *3.5;
}else{
jiang= yuexin *3;
}
}else{
jiang=yuexin*3;
}
console.log("年终奖为",jiang);
方法二提取系数
var year =parseInt(prompt("请输入工作年限"));
var yuexin =parseInt(prompt("请输入薪资"));
var jiang=0;
var xishu=1;
if(year < 1){
if(yuexin > 8000){
xishu=1.2;
}else{
xishu=1;
}
}else if(year <2){
if(yuexin > 10000){
xishu=1.7;
}else{
xishu=1.5;
}
}else if(year <3){
if(yuexin > 12000){
xishu=3.5;
}else{
xishu=3;
}
}else{
xishu=3;
}
jiang=yuexin*xishu;
console.log("年终奖为",jiang);
方法三优化三目
var yuexin =parseInt(prompt("请输入薪资"));
var jiang=0;
var xishu=1;
if(year < 1){
xishu= yuexin>8000 ? 1.2:1;
}else if(year <2){
xishu= yuexin>10000 ? 1.7:1.5;
}else if(year <3){
xishu= yuexin>12000 ? 3.5:3;
}else{
xishu=3;
}
jiang=yuexin*xishu;
console.log("年终奖为",jiang);
优化switch
var year =parseInt(prompt("请输入工作年限"));
var yuexin =parseInt(prompt("请输入薪资"));
var jiang=0;
var xishu=1;
switch(year){
case 0:
xishu= yuexin>8000 ? 1.2:1;
break;
case 1:
xishu= yuexin>10000 ? 1.7:1.5;
break;
case 2:
xishu= yuexin>12000 ? 3.5:3;
break;
}
jiang=yuexin*xishu;
console.log("年终奖为",jiang);
优化switch年限使用范围值
var year =parseInt(prompt("请输入工作年限"));
var yuexin =parseInt(prompt("请输入薪资"));
var jiang=0;
var xishu=1;
switch(true){
case year<1:
xishu= yuexin>8000 ? 1.2:1;
break;
case year<2:
xishu= yuexin>10000 ? 1.7:1.5;
break;
case year<3:
xishu= yuexin>12000 ? 3.5:3;
break;
}
jiang=yuexin*xishu;
console.log("年终奖为",jiang);
练习四
用户输入一个数字n,计算1+2+3+4+……n的和。
方法一正方向
var result = 0;
for(var i=0;i<=num;i++){
result += i;
}
console.log(num+"的累和为"+result);
方法二负方向
var num = parseInt(prompt("请输入需要累加的数字"));
var result = 0;
for(var i=num;i>=0;i--){
result += i;
}
console.log(num+"的累和为"+result);
练习五
用户输入一个数字n
var result = 0;
for(var i=2;i<=num;i++){
result += (i+1)/i;
}
console.log("输入数字"+num+"的结果为"+result);
练习六
用户输入一个数字,在控制台中列出它的所有约数。
for(var i=1;i<=num;i++){
if(num%i==0){
console.log(i +"是" + num + "的约数");
}
}````
####练习七
在控制台输出1~1000之中,所有能被5整除,或者被6整除的数字。
````for(i=1;i<=1000;i++){
if(i %5==0 ||i %6==0){
console.log(i+"能被5或6整除");
}
}````