分享下一这几天的部分JS代码练习题吧,浅看小试牛刀一下吧

2024-01-09 21:22:04

分享下一这几天的JS代码练习题吧,小试牛刀一下

1、迎双旦,某加油站特推出回馈客户的活动,每逢周五优惠, 92号汽油每升优惠3毛,95号汽油每升优惠5毛(92号汽油原价 6.78元/升,95号汽油原价:7.28元/升)根据车主的加油量,计算客户的油费

<script>
            let type=+prompt('请输入您要选择的汽油类型:92/95')
            let oil=+prompt('周五特惠,请输入您要加油的数量(升)');
            if (`${type}==92`) {
                console.log(`92号汽油优惠后价格为${oil*6.78}元`);
            } else {
                console.log(`95号汽油优惠后价格为${oil*7.28}元`);
            }
                 
</script>

2、求三个变量最大值(根据用户输入)

<script>
        let a=+prompt('请输入第1个数字:');
        let b=+prompt('请输入第2个数字:');
        let c=+prompt('请输入第3个数字:');
        let   max=a;
        if (b>max) {
            max=b;
        }
        if (c>max) {
            max=c;
        }
        console.log('最大值为:'+max);
    </script>

3.提示用户输入年龄.如果大于等于18.则告知用户可以查看.如果小于10岁,则告知不允许查看.如果大于等于10岁.则提示用户是否继续查看 (yes、no)如果输入的是yes则提示用户可以查看,否则提示不可以查看。

<script>
        let age=+prompt('请输入您的年龄:');
       // 根据年龄判断是否可以查看  
        if (age >= 18) {  
            alert("您已满18岁,可以查看.");  
        } else if (age < 10) {  
            alert("您未满10岁,不允许查看.");  
        } else {  
            let confirm = prompt("您已满10岁,是否继续查看?(yes/no)");  
            if (confirm == "yes") {  
                alert("您可以选择继续查看.");  
            } else {  
                alert("您选择了不继续查看.");  
            }  
        }
</script>

4.某公司根据工龄发放年终奖,工作满一年 工资8000以上的人,年终奖为工资的1.2倍,10000以上的的为工资的1.5倍,其它为1个月的工资,工作满两年 工资10000以上的人,年终奖为工资的1.5倍,15000以上的为工资的1.8倍,其它为1个月的工资,工作满三年 工资15000以上的人,年终奖为工资的1.8倍,20000以上的为工资2.5倍,其它为1个月的工资根据员工的工龄,计算员工最后一个月发的工资?

<script>
        let year=prompt('请输入您的工作权限:');
        let salary=+prompt('请输入您的月收入:');
        if (year>=1&&year<2) {
            if (salary>=8000&&salary<10000) {
                console.log(`年终奖为${salary*1.2+salary}`);
            }else if(salary>=10000){
                console.log(`年终奖为${salary*1.5+salary}`);
            }else{
                console.log(`年终奖为${salary+salary}`);
            }
        }
        if (year>=2&&year<3) {
            if (salary>=10000&&salary<15000) {
                console.log(`年终奖为${salary*1.5+salary}`);
            }else if(salary>=10000){
                console.log(`年终奖为${salary*1.8+salary}`);
            }else{
                console.log(`年终奖为${salary+salary}`);
            }
        }
        if (year>=3) {
            if (salary>=15000&&salary<20000) {
                console.log(`年终奖为${salary*1.8+salary}`);
            }else if(salary>=10000){
                console.log(`年终奖为${salary*2.5+salary}`);
            }else{
                console.log(`年终奖为${salary+salary}`);
            }
        }
      </script>

5.根据用户输入年份,判断输入的年份是否为闰年 (闰年是能整除4且不能整除100,或者整除400

 <script>
        let year=+prompt('请输入年份:');
        if (year%4==0&&year%100!=0||year%400==0) {
            console.log(`${year}是闰年`);
        } else {
            console.log(`${year}是平年`);
        }
 </script>

6.根据当前的时间,提示用户要做的事情。

5-7点 早上好

7-11点 上午好,祝您心情愉快

11-13点 中午好

13-17点 下午好

17-21点 晚上好

21-23点 夜深了,注意身体哟

其它情况 凌晨了,该休息了

 <script>
        function getGreeting() {
            let now = new Date();  //获取当前的日期
            let hours = now.getHours();    //获取当前的时间  
            let str;  
        if (hours>=5&&hours<7) {
           str='早上好';
        } else if (hours>=7&&hours<11) {
           str='上午好,祝您心情愉快';
        } else if (hours>=11&&hours<13) {
           str='中午好';
        } else if (hours>=13&&hours<17) {
           str='下午好';
        } else if (hours>=17&&hours<21) {
           str='晚上好';
        } else if (hours>=21&&hours<23) {
           str='夜深了,注意身体哟';
        } else{
           str='凌晨了,该休息了';
        }
        return str;
    }      
   console.log(getGreeting()); 
</script>

7.个税计算

 <script>
        let salary=+prompt('请输入您的工资:');
        let wuxian=salary>7662?7662*0.225:salary*0.225;
        let KouChuBZ=prompt('请输入扣除标准:  3500   5000');
        let suoDeE=salary-wuxian-KouChuBZ;
        let shuiLv=0;
        let KouChushu=0;
        if (suoDeE<0) {
            alert('您不用交税');
        }else{
            if (suoDeE<=1500) {
                shuiLv=0.03;
                KouChushu=0;
            }else if (suoDeE<=4500) {
                shuiLv=0.1;
                KouChushu=105;
            }else if (suoDeE<=9000) {
                shuiLv=0.2;
                KouChushu=555;
            }else if (suoDeE<35000) {
                shuiLv=0.25;
                KouChushu=1005;
            }else if (suoDeE<=55000) {
                shuiLv=0.3;
                KouChushu=2755;
            }else if (souDeE<=80000) {
                shuiLv=0.35;
                KouChushu=5505;
            }else if (suoDeE>80000) {
                shuiLv=0.45;
                KouChushu=13505;
            }
        }
        let getShui=suoDeE*shuiLv-KouChushu ;
        alert('您要交的个税是'+getShui.toFixed(2)+'元');
  </script>

8.石头、剪刀、布 小游戏, 三局两胜制,有一方累计胜利两次,则游戏结束 (每次开始,玩家和电脑都要出拳) 随机数 0 1 2 Math.floor( Math.random()*3) 电脑 // parseInt( Math.random()*10 ) %3 0 1 2 3 … 0 代表 石头 1代表 剪刀2代表 布

<script>
        // 定义出拳函数  
        function throwDice(player, computer) {  
          return player === computer ? '平局' : (player > computer ? '玩家胜' : '电脑胜');  
         }  
  
        // 主游戏逻辑  
         function playGame() {  
         let playerThrow = Math.floor(Math.random() * 3) + 1; // 玩家出拳:1-3  
         let computerThrow = Math.floor(Math.random() * 3) + 1; // 电脑出拳:1-3  
         let result = throwDice(playerThrow, computerThrow); // 判断胜负  
                    console.log(`玩家出拳:${playerThrow}`);  
                    console.log(`电脑出拳:${computerThrow}`);  
                    console.log(`本次对决结果:${result}`);  
           
         let playerWins = 0, computerWins = 0;  
         while (playerWins < 2 && computerWins < 2) { // 当双方胜利次数都少于2次时,继续游戏  
           result = throwDice(playerThrow, computerThrow); // 再次出拳并判断胜负  
           if (result === '玩家胜') playerWins++; // 玩家胜利,胜利次数加1  
           else if (result === '电脑胜') computerWins++; // 电脑胜利,胜利次数加1  
         }  
         if (playerWins > computerWins) console.log('玩家胜利!'); // 输出最终胜者  
         else if (computerWins > playerWins) console.log('电脑胜利!'); // 输出最终胜者  
         else console.log('平局!'); // 平局情况,双方胜利次数相等  
      }  
  
       // 开始游戏  
       playGame();
</script>

9.编一个程序,求出200到300之间的满足如下条件的数:三个数字之积为42,三个数之和为12

 <script>
        for (let i = 200; i < 300; i++) {
            let number = i.toString().split(''); 
            if(number.length===3&&number[0]*number[1]*number[2]===42&&parseInt(number[0])+parseInt(number[1])+parseInt(number[2])===12) {
                console.log(i);
            }
            
        }
</script>

10.有红、白、黑三种球若干,其中红、白球共25个,白、黑球共31个,红、黑球共28个,求这三种球各有多少个?

 <script>
      for (let r = 0; r <= 28; r++) {  
        for (let w = 0; w <= 31; w++) {  
        let b = 31 - w;  
        if (r + w === 25 && w + b === 31 && r + b === 28) {  
            console.log(`红球数量: ${r}`);  
            console.log(`白球数量: ${w}`);  
            console.log(`黑球数量: ${b}`);  
            break;  
        }  
    }  
}
      
  </script>

11.卖西瓜。有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天可以卖完,请编程计算在这里插入图片描述

   <script>
        let initialWatermelons = 1020;  
        let daysNeeded = 0;  
  
        while (initialWatermelons > 0) {  
       // 第一天卖一半多两个  
       let sold = Math.floor(initialWatermelons / 2) + 2;  
       // 剩余的西瓜数量  
       initialWatermelons = initialWatermelons - sold;  
       // 增加一天  
       daysNeeded++;  
}  
  
console.log(`需要${daysNeeded}天才能卖完所有的西瓜。`);

    </script>

文章来源:https://blog.csdn.net/qq_57547315/article/details/135466923
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。