JavaScript 25题简单小例子练习,锻炼代码逻辑思维,不看后悔系列(一)

1.计算10的阶乘:

// 计算10的阶乘
// 声明阶乘,赋值
var jc = 1;
// 创建循环语句
for(i = 1;i <= 10;i++){
    jc *= i;
}
// 打印结果
console.log(jc);    // 3628800

2.计算圆的周长、半径:

// 假设半径为80
var r = 80;
// 周长公式
var h = 2*Math.PI*r;
// 结果保留3位小数
var h = h.toFixed(3);
// 面积公式
var s = Math.PI*r*r;
var s = s.toFixed(3);

3.为抵抗洪水,战士共战斗89小时,计算89小时为多少天加多少小时:

// 总小时数
var h = 89;
// 天数
var day = parseInt(h/24);
// 余下的小时数
var hour = h%24;

4.计算80华氏温度等于多少摄氏度:

// 声明华氏温度hua,赋值80
var hua = 80;
// 计算摄氏度
var she = 5/9.0*(hua-32);
// 保留3位小数
she = she.toFixed(3);

5.90度转化为弧度是多少(结果保留3位小数):

 var angle = 90;
    //计算弧度
    var radian = Math.PI/180*angle;
    //弧度值保留3位小数
    var radian = radian.toFixed(3);

6.输入分数,判定成绩等级(if、switch两种写法):

//if 写法:
// 手动输入一个成绩
var ach = 10;
// 判断语句
if(ach >= 0 && ach < 60){
    console.log("成绩不合格");
}else if(ach >=60 && ach < 80){
    console.log("成绩良好");
}else if(ach >=80 && ach < 100){
    console.log("成绩优秀");
}else if(ach == 100){
    console.log("太棒了孩子");
}else{
    console.log("请输入1-100的数字");
}
//手动输入一个成绩
var ach= 88;
switch(true){
   case ach >= 0 && ach < 60:
   console.log("成绩不合格");
   break;
   case ach >= 60 && ach < 80:
   console.log("成绩良好");
   break;
   case ach >= 80 && ach < 100:
   console.log("成绩优秀");
   break;
   case ach == 100:
   console.log("太棒了孩子");
   break;
   default:
   console.log("请输入1-100的数字");
}

7.输入月份,显示当月天数,利用case穿透:

//手动赋值
    var mon = 6;
    //创建分支
    switch(mon){
        // 2月
        case 2:
        console.log("闰年29天、平年28天");
        break;
        // 31天
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
        console.log("本月有31天");
        break;
        // 30天
        case 4:
        case 6:
        case 9:
        case 11:
        console.log("本月有30天");
        break;
        default:
        console.log("请输入1-12的数字");
    }

8.根据日期,判断这天是这年的第几天(利用switch穿透):

var year = 2016;
 var mon =2;
 var day = 11;
 var allday = 0;
 switch(mon - 1){
     case 11:
     allday += 30;
     case 10:
     allday += 31;
     case 9:
     allday += 30;
     case 8:
     case 7:
     allday += 31;
     case 6:
     allday += 30;
     case 5:
     allday += 31;
     case 4:
     allday += 30;
     case 3:
     allday += 31;
     case 2:
         if(year % 4 == 0 && year % 100 !=0 || year % 400 == 0){
             allday += 29;
         }else{
             allday += 28;
         }
     case 1:
     allday += 31;
     break;
 }
     console.log(allday + day);     // 42

9.入职薪水10k,每年涨幅5%,50年后工资多少?

var sal = 10;
    // 创建循环
    for(var i = 1;i <= 50;i++){
        sal *= 1.05;
    }

10.打印100以内奇数,并打印所有奇数之和:

var sum = 0;
// 创建循环
for(var i = 1;i <= 100;i++){
    // 判断条件
    if(i % 2 ==1){
        // 打印100内奇数
        console.log(i);   // 1 3 5 7 ... 97 99
        // 计算100内奇数和
        sum += i;
    }
}

11.在页面打印20-80 之间能被 3 整除的数,每5个一行

var j =0;
// 创建循环
for(var i = 20;i <= 80;i++){
   // 创建判断
   if(i % 3 == 0){
       // 打印结果
       document.write(i+"&nbsp");
       j++;
       // 结果5个换行
       if(j % 5 == 0){
           document.write("<br>");
       }
   }
}

12.打印100-200之间所有能被3且被7整除的数:

for(var i = 100;i <= 200;i++){
   // 创建判断体
   if(i % 3 == 0 && i % 7 == 0){
       // 打印结果
       console.log("100-200之间所有能被3且被7整除的数为:"+i);  // 105 126 147 168 189
   }
}

13.求1+2!+3!+…+20!的值:

// 声明和的初值为0
var sum = 0;
// 创建循环
for(var i = 0;i <= 20;i++){
    // 声明加数的初值为1
    var num = 1;
    // 创建内部循环
    for(var j = 1;j <= i;j++){
        num *= j;
    }
    // 求每个加数和
    sum += num;     
}

14.求1/1-1/2+1/3-1/4…1/100的和:

var sum = 0;
// 创建循环
for(var i = 1;i <= 100;i++){
    if(i % 2 == 1){
        // 奇数倒数
        sum += (1/i);
    }else{
        // 偶数倒数
        sum -= (1/i); 
    }
}

15.有一个棋盘,有64个方格,在第一个方格里面放一粒芝麻重量0.00001kg,第二个里面放两粒,第三个里面放4粒,求棋盘上所有芝麻粒之和:

var sum = 0;
var chu;
// 创建循环
for(var i = 0;i < 64;i++){
    // 2的i次方累加
    sum += Math.pow(2,i);
}
//  换算
chu = sum * 0.00001;

16.99乘法表:

// 行
for(var i=1;i<=9;i++){
    // 列
    for(var j=1;j<=i;j++){
        // 打印结果
        document.write(i+"*"+j +"="+i*j+"&nbsp;&nbsp;");
    }
    // 每行后换行
document.write("<br>");
}

17.编写一个函数,计算两个数的和 差 积 商:

 // 创建函数
function num(a,b,fh){
   // 创建分支
   switch(fh){
       case "+":
       console.log("两个数的和为:" + a+b);
       break;
       case "-":
       console.log("两个数的差为:" + a-b);
       break;
       case "*":
       console.log("两个数的积为:" + a*b);
       break;
       case "/":
       console.log("两个数的商为:" + a/b);
       break;
   }
}
   num(66,88,"*");

18.编写一个函数,在页面上打印一个N行M列的表格,表格内容填充0-100的随机数字:

 // 创建函数
function bg(m,n){
    // 打印表格标签
    document.write("<table>");
    // 创建行循环
    for(var i=0;i<=m;i++){
        // 输出行标签
        document.write("<tr>");
            // 创建列循环
            for(var j=0;j<=n;j++){
                // 输出列标签
                document.write("<td>");
                    // 输出随机数字
                    document.write(Math.round(Math.random()*100));
                document.write("</td>");
    }
        document.write("/<tr>");
    }
    document.write("</table>")
}
bg(5,5);

19.将一个篮球从5米高处下落,每次上升为原来的60%,求经过多少次下落,高度小于0.1米:

var h = 5;
var cs= 1;
// 创建循环
while (true) {
    h *= 0.6;
    // 判断
    if(h < 0.1){
        // 打印结果
        console.log(cs);
        // 终止
        break;
    }
    // 次数
    cs++;
}

20.在页面输入任意数字,点击按钮后计算该数字的阶乘:

function jc (n){
   if(n == 1){
       return 1;
   }
   return jc(n - 1)*n;
}
var btn = document.getElementById("btn");
var ipt = document.getElementById("ipt");
btn.onclick = function(){
   var m = parseInt(ipt.value);

   var result = jc(m);
   console.log("此数字的阶乘为:"+result);
}

21.根据1,1,2,3,5,8,13,21…计算第10位(斐波那契):

function fn(n){
   if(n === 1 || n === 2){
       return 1;
   }else{
       return fn(n - 1) + fn(n - 2);
   }
}
var num = fn(10);

22.编写一个函数,输入n为偶数时,调用函数求1/2+1/4+1/6+…+1/n;当输入n为奇数时,调用函数1/1+1/3+1/5+…+1/n:

function fn(n){
   if (n == 1){
       return 1;
   }else if(n == 2){
       return 1/2;
   }
   return 1/n + fn(n - 2);
}
var btn = document.getElementById("btn");
var ipt = document.getElementById("ipt");
btn.onclick = function(){
   var n = parseInt(ipt.value);
   var sum = fn(n);
   console.log("和为:"+sum);
}

23.编写一个函数,计算任意两个数字之间所能组成的奇数的个数,数字必须是个位数,比如:计算0-3之间能组成的奇数是:01,03,13,21,23,31:

function num(n,m){
 var count = 0;   // 记录奇数的个数
 if (n > m){
     var i = n;
         n = m;
         m = i;
 }
 console.log(n,m);
 for(var j = n;j<=m;j++){
     if(j%2 == 1){
         for(var k=n;k<=m;k++){
             var str = ""+k+j;
             console.log(str);
             // 每产生第一个奇数,就++
             count++;
         }
     }
 }
 return count;
}

24.编写一个函数:4位数,每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,输入原文,输出密文.例:8848 → 3933:

// 创建函数
function fn(n){
   var gw = parseInt(n/1) % 10;
   var sw = parseInt(n/10) % 10;
   var bw = parseInt(n/100) % 10;
   var qw = parseInt(n/1000) % 10;

   console.log("您输入的原文是:" + qw,bw,sw,gw);
   // 每位数字都加上5,然后用除以10
   gw = (gw + 5) % 10;
   sw = (sw + 5) % 10;
   bw = (bw + 5) % 10;
   qw = (qw + 5) % 10;
   // 交换十位、百位
   var num1 = sw;
       sw = bw;
       bw = num1;
   // 交换个位、千位
   var num2 = gw;
       gw = qw;
       qw = num2;

   return "" + qw + bw + sw + gw;
}
console.log("密文为:" + fn(8848));

25.编写函数map(arr) 把数组中的每一位数字都增加30%,并返回一个新数组:

function map(arr){
	var a = [];
	for(var i=0;i<arr.length;i++){
		a.push(arr[i] * 1.3);
	}
	return a;
}
var num = [1,2,3,4,5];
console.log(num);
var res = map (num);
console.log(res);
console.log(num);

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕穗子博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值