当前位置:   article > 正文

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

javascrip练习

1.计算10的阶乘:

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

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

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

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

  1. // 总小时数
  2. var h = 89;
  3. // 天数
  4. var day = parseInt(h/24);
  5. // 余下的小时数
  6. var hour = h%24;

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

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

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

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

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

  1. //if 写法:
  2. // 手动输入一个成绩
  3. var ach = 10;
  4. // 判断语句
  5. if(ach >= 0 && ach < 60){
  6. console.log("成绩不合格");
  7. }else if(ach >=60 && ach < 80){
  8. console.log("成绩良好");
  9. }else if(ach >=80 && ach < 100){
  10. console.log("成绩优秀");
  11. }else if(ach == 100){
  12. console.log("太棒了孩子");
  13. }else{
  14. console.log("请输入1-100的数字");
  15. }
  1. //手动输入一个成绩
  2. var ach= 88;
  3. switch(true){
  4. case ach >= 0 && ach < 60:
  5. console.log("成绩不合格");
  6. break;
  7. case ach >= 60 && ach < 80:
  8. console.log("成绩良好");
  9. break;
  10. case ach >= 80 && ach < 100:
  11. console.log("成绩优秀");
  12. break;
  13. case ach == 100:
  14. console.log("太棒了孩子");
  15. break;
  16. default:
  17. console.log("请输入1-100的数字");
  18. }

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

  1. //手动赋值
  2. var mon = 6;
  3. //创建分支
  4. switch(mon){
  5. // 2月
  6. case 2:
  7. console.log("闰年29天、平年28天");
  8. break;
  9. // 31天
  10. case 1:
  11. case 3:
  12. case 5:
  13. case 7:
  14. case 8:
  15. case 10:
  16. case 12:
  17. console.log("本月有31天");
  18. break;
  19. // 30天
  20. case 4:
  21. case 6:
  22. case 9:
  23. case 11:
  24. console.log("本月有30天");
  25. break;
  26. default:
  27. console.log("请输入1-12的数字");
  28. }

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

  1. var year = 2016;
  2. var mon =2;
  3. var day = 11;
  4. var allday = 0;
  5. switch(mon - 1){
  6. case 11:
  7. allday += 30;
  8. case 10:
  9. allday += 31;
  10. case 9:
  11. allday += 30;
  12. case 8:
  13. case 7:
  14. allday += 31;
  15. case 6:
  16. allday += 30;
  17. case 5:
  18. allday += 31;
  19. case 4:
  20. allday += 30;
  21. case 3:
  22. allday += 31;
  23. case 2:
  24. if(year % 4 == 0 && year % 100 !=0 || year % 400 == 0){
  25. allday += 29;
  26. }else{
  27. allday += 28;
  28. }
  29. case 1:
  30. allday += 31;
  31. break;
  32. }
  33. console.log(allday + day); // 42

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

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

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

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

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

  1. var j =0;
  2. // 创建循环
  3. for(var i = 20;i <= 80;i++){
  4. // 创建判断
  5. if(i % 3 == 0){
  6. // 打印结果
  7. document.write(i+"&nbsp");
  8. j++;
  9. // 结果5个换行
  10. if(j % 5 == 0){
  11. document.write("<br>");
  12. }
  13. }
  14. }

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

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

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

  1. // 声明和的初值为0
  2. var sum = 0;
  3. // 创建循环
  4. for(var i = 0;i <= 20;i++){
  5. // 声明加数的初值为1
  6. var num = 1;
  7. // 创建内部循环
  8. for(var j = 1;j <= i;j++){
  9. num *= j;
  10. }
  11. // 求每个加数和
  12. sum += num;
  13. }

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

  1. var sum = 0;
  2. // 创建循环
  3. for(var i = 1;i <= 100;i++){
  4. if(i % 2 == 1){
  5. // 奇数倒数
  6. sum += (1/i);
  7. }else{
  8. // 偶数倒数
  9. sum -= (1/i);
  10. }
  11. }

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

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

16.99乘法表:

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

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

  1. // 创建函数
  2. function num(a,b,fh){
  3. // 创建分支
  4. switch(fh){
  5. case "+":
  6. console.log("两个数的和为:" + a+b);
  7. break;
  8. case "-":
  9. console.log("两个数的差为:" + a-b);
  10. break;
  11. case "*":
  12. console.log("两个数的积为:" + a*b);
  13. break;
  14. case "/":
  15. console.log("两个数的商为:" + a/b);
  16. break;
  17. }
  18. }
  19. num(66,88,"*");

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

  1. // 创建函数
  2. function bg(m,n){
  3. // 打印表格标签
  4. document.write("<table>");
  5. // 创建行循环
  6. for(var i=0;i<=m;i++){
  7. // 输出行标签
  8. document.write("<tr>");
  9. // 创建列循环
  10. for(var j=0;j<=n;j++){
  11. // 输出列标签
  12. document.write("<td>");
  13. // 输出随机数字
  14. document.write(Math.round(Math.random()*100));
  15. document.write("</td>");
  16. }
  17. document.write("/<tr>");
  18. }
  19. document.write("</table>")
  20. }
  21. bg(5,5);

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

  1. var h = 5;
  2. var cs= 1;
  3. // 创建循环
  4. while (true) {
  5. h *= 0.6;
  6. // 判断
  7. if(h < 0.1){
  8. // 打印结果
  9. console.log(cs);
  10. // 终止
  11. break;
  12. }
  13. // 次数
  14. cs++;
  15. }

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

  1. function jc (n){
  2. if(n == 1){
  3. return 1;
  4. }
  5. return jc(n - 1)*n;
  6. }
  7. var btn = document.getElementById("btn");
  8. var ipt = document.getElementById("ipt");
  9. btn.onclick = function(){
  10. var m = parseInt(ipt.value);
  11. var result = jc(m);
  12. console.log("此数字的阶乘为:"+result);
  13. }

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

  1. function fn(n){
  2. if(n === 1 || n === 2){
  3. return 1;
  4. }else{
  5. return fn(n - 1) + fn(n - 2);
  6. }
  7. }
  8. var num = fn(10);

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

  1. function fn(n){
  2. if (n == 1){
  3. return 1;
  4. }else if(n == 2){
  5. return 1/2;
  6. }
  7. return 1/n + fn(n - 2);
  8. }
  9. var btn = document.getElementById("btn");
  10. var ipt = document.getElementById("ipt");
  11. btn.onclick = function(){
  12. var n = parseInt(ipt.value);
  13. var sum = fn(n);
  14. console.log("和为:"+sum);
  15. }

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

  1. function num(n,m){
  2. var count = 0; // 记录奇数的个数
  3. if (n > m){
  4. var i = n;
  5. n = m;
  6. m = i;
  7. }
  8. console.log(n,m);
  9. for(var j = n;j<=m;j++){
  10. if(j%2 == 1){
  11. for(var k=n;k<=m;k++){
  12. var str = ""+k+j;
  13. console.log(str);
  14. // 每产生第一个奇数,就++
  15. count++;
  16. }
  17. }
  18. }
  19. return count;
  20. }

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

  1. // 创建函数
  2. function fn(n){
  3. var gw = parseInt(n/1) % 10;
  4. var sw = parseInt(n/10) % 10;
  5. var bw = parseInt(n/100) % 10;
  6. var qw = parseInt(n/1000) % 10;
  7. console.log("您输入的原文是:" + qw,bw,sw,gw);
  8. // 每位数字都加上5,然后用除以10
  9. gw = (gw + 5) % 10;
  10. sw = (sw + 5) % 10;
  11. bw = (bw + 5) % 10;
  12. qw = (qw + 5) % 10;
  13. // 交换十位、百位
  14. var num1 = sw;
  15. sw = bw;
  16. bw = num1;
  17. // 交换个位、千位
  18. var num2 = gw;
  19. gw = qw;
  20. qw = num2;
  21. return "" + qw + bw + sw + gw;
  22. }
  23. console.log("密文为:" + fn(8848));

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

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号