编程题目

这篇博客提出了多个编程题目,包括找出三个数中的最大值,预测培训人数增长到20万的时间,计算数字的二倍直到输入'q',寻找输入数字序列的最大值,计算复利增长的本金,处理负数和大于100的年龄输入,根据鸡蛋数量计算所需篮子,移除数组中的0元素,转换字符串为驼峰式,找出水仙花数,列出100以内的素数,以及实现任意位的斐波那契数列计算。
摘要由CSDN通过智能技术生成

@[题目]

说出下面代码运行结果

    alert(true&&true);
	alert(true||true);
	alert(!true);
	alert(true&&false);
	alert(false||true);
	alert(false||false);
	alert(true&&false);
	alert(1>2|| 1>3);
	alert(1>2&& 1>3);
	alert(1<2|| 1>3);
	alert( 1<2 && 1>3);
   var a = 12;
   var b = 10;
   var c = 5;
   var d = a++;
   var e = ++b;
   var f = c + d++;
   var g = c + ++d;
   算出d,e,f,g的值。

代码题

  1. 编一个程序,从键盘上输入三个数,把最大数找出来
  - <script>
  // 编一个程序,从键盘上输入三个数,把最大数找出来
  var num1 = prompt('请输入一个数')
  var num2 = prompt('请输入二个数')
  var num3 = prompt('请输入三个数')

  var max = num1 > num2 ? num1 : num2 
  max = max > num3 ? max : num3 
  alert('更大的是:' + max)
</script>
  1. 2006年培养学员80000人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?
<script>
  //1. 2006年培养学员80000人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?
  var count = 80000
  var year = 2006
  // 只要小于200000,就一直循环计算
  while ( count < 200000 ) {
    year++ // 下一年
    count *= 1.25 // 增加25%即是乘以1.25倍
  }

  alert('到' + year + '年学员人数将达到20万')

</script>
  1. 不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出。
  <script>
   // 1. 不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出。

   while (true) {

     var an = prompt('请输入一个数字,输入q退出')
     if (an == 'q'){
       break;
     }else {

       alert(an * 2)
     }
   }
 </script>
  1. 不断要求用户输入一个数字(假定用户输入的都是正整数),当用户输入end的时候显示刚才输入的数字中的最大值
<script>
    //不断要求用户输入一个数字(假定用户输入的都是正整数),当用户输入end的时候显示刚才输入的数字中的最大值
    var max = 0
    while (true) {

      var an = prompt('请输入一个数字,输入end退出')
      if (an == 'end') {

        alert('最大数是:' + max)
        break;

      } else if ( +an > max ) {
        // 注意:这里需要把输入的内容转成数字,否则比较的时候默认是比较第一位,再比较第二位
        max = an
      }
    }
  </script>
  1. 本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?
 <script>
   // 本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?

   var money = 10000
   for (var i = 0; i < 5; i++) {

     money *= 1.003
   }

   alert('5年后金额是:' + money)
  1. 循环录入5个人的年龄并计算平均年龄,如果录入的数据出现负数或大于100的数,立即停止输入并提示不合法
 <script>
    //1. 循环录入5个人的年龄并计算平均年龄,如果录入的数据出现负数或大于100的数,立即停止输入并提示不合法
    var sum = 0;
    // 假设没有输入非法年龄
    var flag = true 
    for (var i = 0; i < 5; i++) {

      var age = +prompt('请输入年龄')
      if (age < 0 || age > 100) {
        flag = false
        break;
      }else {

        sum += age 
      }

    }

    if (flag) {

      alert('平均年龄是:' + sum / 5)
    }else {

      alert('输入不合法')
    }


  </script>
  1. 用户输入鸡蛋的数量,我们计算并打印出一共需要多少个篮子(一个篮子放10个鸡蛋)
    • 例如 : 用户输入15个鸡蛋, 15/10 = 1.5 需要2个篮子
    • 例如 : 用户输入21个鸡蛋, 21/10 = 2.1 需要3个篮子
  2. 将数组中所有为0的元素去掉
    • 例如:[0,10,20,30,0,40,0] 变成[10,20,30,40]
  3. 已知有字符串foo=”get&element&by&className”,写一个function将其转化成驼峰表示法”getElementByClassName”`
  4. 打印出100-999之间的水仙花数
    • 水仙花数:每位数的三次方相加得到自身
    • 例如:153 : 1 x 1 x 1 + 5 x 5 x 5 + 3 x 3 x 3
    • 得到 1 + 125 + 27 最终为153,
    • 提示:要想办法先取到百位、十位、个位数字,再判断
  5. 找到100以内的所有素数,并输出
  6. 封装一个函数,可以求任意位的斐波那契数列是几的数字
    • 斐波那契数列:第1位和第2位都是1,从第3位开始,每位数字等于前2位数字相加
    • 1 1 2 3 5 8 13 21 34 55 …
 ```js
<script>
  //将数组中所有为0的元素去掉
  //例如:[0,10,20,30,0,40,0] 变成[10,20,30,40]

  var nums = [0, 10, 20, 30, 0, 40, 0]

  var newArr = []

  for (var i = 0; i < nums.length; i++) {

    if (nums[i] != 0) {

      newArr.push(nums[i])
    }
  }
  // 去除完0后,给nums重新赋值即为去掉0后的结果
  nums = newArr;
  console.log(nums)
</script>

<script>
 //已知有字符串foo=”get&element&by&className”,写一个function将其转化成驼峰表示法”getElementByClassName”`

 var foo = 'get&element&by&className'
 // 按照&切割成数组
 var arr = foo.split('&')

 for(var i = 1; i < arr.length; i++){

   // 拿到被遍历到部分
   var str = arr[i]
   // 拿到这部分的首字母
   var firstCh = str[0]
   arr[i] = str.replace(firstCh, firstCh.toUpperCase())
 }

 foo = arr.join('')
 console.log(foo)
</script>
<script>
 /*
 打印出100-999之间的水仙花数
   - 水仙花数:每位数的三次方相加得到自身
   - 例如:153 : 1 x 1 x 1 + 5 x 5 x 5 + 3 x 3 x 3
   - 得到 1 + 125 + 27 最终为153,
   - 提示:要想办法先取到百位、十位、个位数字,再判断
 */

 for (var i = 100; i <= 999; i++) {

   // 取出百位
   var bai = parseInt(i / 100)
   // 取出十位
   var shi = parseInt(i / 10) % 10
   // 取出个位
   var ge = i % 10

   if (bai*bai*bai + shi*shi*shi + ge*ge*ge == i) {

     console.log(i)
   } 
 }
</script>
<script>
 //找到100以内的所有素数,并输出
 for (var i = 2; i <= 100; i++) {

   if (i == 2) {

     console.log(i)
   } else {

     var flag = true
     for (var j = 2; j < i; j++) {

       if (i % j == 0) {
         flag = false
         break
       }
     }
     if (flag) {

       console.log(i)
     }

   }
 }
</script>
<script>
 /*
  封装一个函数,可以求任意位的斐波那契数列是几的数字
   - 斐波那契数列:第1位和第2位都是1,从第3位开始,每位数字等于前2位数字相加
   - 1 1 2 3 5 8 13 21 34 55 .......
*/

 function fibNumber(n) {

   var nums = [1, 1]

   for (var i = 2; i < n; i++) {

     var num = nums[i - 1] + nums[i - 2]
     nums.push(num)
   }

   return nums[n - 1]
 }

 console.log( fibNumber(3) )
 console.log( fibNumber(4) )
 console.log( fibNumber(5) )
 console.log( fibNumber(6) )
 console.log( fibNumber(7) )
 console.log( fibNumber(8) )
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值