【无标题】

用户登录验证

  • 题目描述:

    • 接收用户输入的用户名和密码,若用户名为 “admin” ,且密码为 “123456” ,则提示用户登录成功! 否则,让用户一直输入。
  • 题目提示:

    • 利用while循环或者do while 循环
    var username = prompt('请输入用户名:');
    var password = prompt('请输入密码:');
    
    while(username != 'admin' || password != '123456'){
    	username = prompt('请输入用户名:');
    	password = prompt('请输入密码:');
    
    }
    
    do{
    	var username = prompt('请输入用户名:');
    	var password = prompt('请输入密码:');
    }while(username != 'admin' || password != '123456');

1.2 求1-100之间个位数不为3的数的累加和。

  • 题目描述:

    • 求整数1~100的累加值,但要求跳过所有个位为3的数。
  • 题目提示:

    • 使用%判个位数是否为3
    • 用continue实现
    		var num = 0; //初始值 
            var sum = 0;
            // 构建1~100 
            //判断每个数字个位是否是3 如果是就跳过  
            while (num < 100) {
                num++;
                if (num % 10 == 3) {
                    continue;
                }
                sum += num;
            }
    
            console.log(sum);

2 - 升级作业

2.1 简易ATM

  • 题目描述:

    • 里面现存有 100 块钱。

    • 如果存钱,就用输入钱数加上先存的钱数, 之后弹出显示余额提示框

    • 如果取钱,就减去取的钱数,之后弹出显示余额提示框

    • 如果显示余额,就输出余额

    • 如果退出,弹出退出信息提示框

  • 题目提示:

    • 通过输入的数值判断用户操作
    • while switch
    • break
while(true){  // 可以让用户一直输入

}
// 给用户提供选项  1 2 3 4 switch 
// 输入4 结束整个循环  break 

var money = 1000;
        var flag = false; // 默认不停止循环
        while(true){
            var text = prompt('1:存钱\n2:取钱\n3:查询余额\n4:退出');
            switch(text){
                case '1':
                    var in_money = parseFloat(prompt('请输入存入金额:'));
                    money += in_money;
                    alert('余额为'+money+'元');
                    break;
                case '2':
                    var out_money = parseFloat(prompt('请输入取出金额:'));
                    money -= out_money;
                    alert('余额为'+money+'元');
                    break;
                case '3':
                    alert('余额为'+money+'元');
                    break;
                case '4':
                    flag = true;
                    break;
            
            }

            if(flag){
                break;
            }
        }

2.2 求从1 开始第35个能被7和3整除的整数数

  • 题目描述:
    • 求从1开始第35个能被7和3整除的整数
  • 题目提示:
    • 通过变量记录是第几个可以被3和7整除的数
		var count = 0; // 计数器  记录第几个  
        var i = 0; //初始值     
        var result = 0;
        while(count<35){ // 只要个数小于35 就要一直找下去 
            i+=21;
            if(i%21==0){
                result = i;
                // console.log(result);
                count++;
            }
        }
        console.log(result);

1   2   3    ...  35
21  42  63        停止

2.3

1. 五行星星+矩形+直角三角形(正反)+九九乘法表(正反)+九九乘法表(带边框)+等腰三角形(正反)+菱形 

2.4

输入任意一个正整数,求他是几位数?注意: 不能使用字符串,只能用循环.
# 思路:看一个正整数是几位数,就看这个数整除几次10以后会变成0
# 例如:123//10->12;12//10->1;1//10->0 (3次)
# 2345//10->234;234//10->23;23//10->2;2//10->0 (4次)

12345

12345 => 10 1234
1234 => 10  123
123 => 10   12
12 => 10     1
1=> 10		0

1.保证是个正整数  
2.while循环  
3 . 计数

		var num = parseInt(prompt('请输入一个数字:'));
        if(num<0){
            alert('请输入正整数');
        }else{
            var count = 1; //数字至少为1位
            while(parseInt(num / 10)!=0){
                num = parseInt(num / 10);
                count++;

            }
            alert('位数为'+count);
        }

2.5

一张a4纸的厚度是0.104mm,珠穆朗玛峰是8848.43米,纸张折叠多少次超过珠穆朗玛峰?
 var num = 0.104; //纸的厚度
        var count = 0; // 计数器 记录折叠次数


        // while(1){
        //    num *= 2; // 每次循环重复做的事情 厚度*2
        //    count++; // 每次循环重复做的事情 次数+1
        //    if(num>=8848430){
        //         break;
        //    }
        // }
        // console.log(count);
        
        while(num<8848430){
            num *= 2;
            count++;
        }
        console.log(count);

2.6

统计101~200中素数的个数,并且输出所有的素数。(素数又叫质数,就是只能被1和它本身整除的数)

11 

1   11
2345678910 

1. 构建 101~200 
2. 101 102 103 ... 200 判断是否是素数 
3. 判断101是否是素数 
   2~100 里边是否有数字能被101整数 如果没有 101就是素数 有 101就不是素数
   
 var count = 0;
 for(var i=101;i<=200;i++){
 	//console.log(i); // 103
 	var flag = true; // 假设它是素数
 	for(var j=2;j<i;j++){ // 234...102
 		if(i%j==0){ // 除了1和本身数字以外还有别的数可以被101整除
 			// 如果有 没有必要继续往后了
 			flag = false;
 			break;
 		}
 	}
 	// 里边的循环结束 我看一下flag到底是什么值
 	if(flag){
 		count++;
 		console.log(i+'是素数');
 	}
 }
 console.log('素数的个数是'+count);

2.7

要求输入员工的薪资,若薪资小于 0 则重新输入。最后打印出录入员工的数量和薪资总数,以及平均薪资
var empNum = 0;
var salarySum = 0;
while(true){
	var salary = prompt(`请输入第${empNum}位员工的薪资按q退出`);
	if(salary == 'q'){
		alert('欢迎下次光临');
		break;
	}
	if(parseFloat(salary)<0){
		continue;
	}
	empNum += 1;
	salarySum += salary;
}

alert(`员工总数为${empNum-1}`);
alert(`平均薪资${salarySum / (empNum-1)}`)

2.8

这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?(可以直接使用穷举法)

"""
分析:
    1. 一百匹马:大马 + 中马 + 小马 = 100
       一百担货:3*大马 + 2*中马 + 小马/2 = 100
    2. 马匹数量的范围
       0 <= 大马 <= 100//3(整除)
       0 <= 中马 < 50
       小马 --> 100 - 大马 - 中马
       for(){
       	  for(){
       	  	 for(){
       	  	 	
       	  	 }
       	  }
       }
"""
for(var x=0;x<=33;x++){
	for(var y=0;y<=50;y++){
		for(var z=0;z<=100;z+=2){
			if(x+y+z==100 && x*3+y*2+parseInt(z/2)==100){
				console.log(`大马${x} 中马${y} 小马${z}`);
			}
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值