Javascript之条件、循环、函数、递归、数组、字符串、Date练习题

这篇博客提供了一系列JavaScript编程练习,包括条件判断、循环结构、函数应用、递归算法以及数组操作。通过解决判断数字大小、打印特定数列、数组处理和字符串操作等问题,提升JavaScript编程技能。
摘要由CSDN通过智能技术生成

文章目录

一、条件类

判断三个数的大小,并从小到大排列

var num1 = +prompt("请输入数字:");
var num2 = +prompt("请输入数字:");
var num3 = +prompt("请输入数字:");
if(num1 > num2 && num1 > num3){
   
	if(num2 > num3){
   
		alert(num3 + "," + num2 + "," + num1);
	}else{
   
		alert(num2 + "," + num3 + "," + num1);
	}
}else if(num2 > num1 && num2 > num3){
   
	if(num1 > num3){
   
		alert(num3 + "," + num1 + "," + num2);
	}else{
   
		alert(num1 + "," + num3 + "," + num2);
	}
}else{
   
	if(num1 > num2){
   
		alert(num2 + "," + num1 + "," + num3);
	}else{
   
		alert(num1 + "," + num2 + "," + num3);
	} 
}

判断学生成绩是否合格

var score = prompt("请输入分数:");
switch(parseInt(score / 10)){
   
	case 10:
	case 9:
	case 8:
	case 7:
	case 6:
		console.log("及格啦");
		break;
	default:
		console.log("不及格");
}

输入日期,判断这个日期是这一年的第几天

var date = prompt("请输入8位数日期:");
var year = parseInt(date / 10000)
var month = parseInt(date / 100) % 100;
var day = date % 100;
var count = 0;
var february = 28;
switch(month - 1){
   
    case 12:
        count += 31;
    case 11:
        count += 30;
    case 10:
        count += 31;
    case 9:
        count += 30;
    case 8:
        count += 31;
    case 7:
        count += 31;
    case 6:
        count += 30;
    case 5:
        count += 31;
    case 4:
        count += 30;
    case 3:
        count += 31;
    case 2:
        if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
   
            count += 29;
        }else{
   
            count += 28;
        }
    case 1:
        count += 31;
        break
}
count += day;
alert("第" + count + "天");

二、循环类

打印1000-2000之间的闰年,每行打印4个

for(var i = 1000 , count = 0 ; i < 2001 ; i++){
   
    if(i % 4 === 0 && i % 100 !== 0 || i % 400 === 0){
   
        document.write(i + "&nbsp;");
        count++;
    }
    // count为计数器
    if(count % 4 === 0){
   
        document.write("<br>")
    }
}

打印水仙花数

for(var i = 100 ; i < 1000 ; i++){
   
	var a = i % 10;	// 个位数字
	var b = parseInt(i / 10) % 10; // 十位数字
	var c = parseInt(i / 100); // 百位数字
	// i === Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3)
	// i === a ** 3 + b ** 3 + c ** 3
	if(i === a * a * a + b * b * b + c * c * c){
   
		document.write(i + "<br>");
	}
}

打印1-100之间所有的质数

for(var i = 2 ; i < 101 ; i++){
   
	var flag = true; //使用中间量 flag 记录状态
	for(var j = 2 ; j < i ; j++){
     //代码优化1: j < i 改为 j <= Math.sqrt(i)
		if(i % j === 0){
   
			flag = false;
			break; //代码优化2
		}
	}
	if(flag){
   
		console.log(i);
	}
} 

判断某个数是否是质数

var num = prompt("请输入一个大于1的数字:");
var flag = true; //使用中间量 flag 记录状态
for(var i = 2 ; i < num ; i++){
   
	if(num % i === 0){
   
		flag = false;
		break;
	}
}
if(flag){
   
	document.write(num + "是质数");
}else{
   
	document.write(num + "不是质数");
}

打印三角形

for(var i = 0 ; i < 10 ; i++){
   
	for(var j = 0 ; j < i + 1 ; j++){
   
		document.write("*&nbsp;");
	}
	document.write("<br>");
}

打印倒三角形

for(var i = 10 ; i > 0 ; i--){
   
    for(var j = 0 ; j < i ; j++){
   
        document.write("*&nbsp;");
    }
    document.write("<br>")
}

打印等腰三角形

for(var i = 0 ; i < 10 ; i++){
   
    for(var j = 0 ; j < i * 2 + 1 ; j++){
   
        document.write("*&nbsp;");
    }
    document.write("<br>")
}

打印菱形

for(var i = 0 ; i < 10 ; i++){
   
    for(var j = 0 ; j < i * 2 + 1 ; j++){
   
        document.write("*&nbsp;");
    }
    document.write("<br>")
}
for(var i = 8 ; i >= 0 ; i--){
   
    for(var j = 0 ; j < i * 2 + 1 ; j++
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值