- 浏览: 10229 次
- 性别:
文章分类
最新评论
练习题目:
练习1:百钱买百鸡
后台结果:
说明:对程序进行优化,减少for循环语句的循环次数,可以减小系统运行负荷
2.练习2:接受用户输入的一个正整奇数,并打印出如题目中所示图形
后台结果显示:
3.练习3:输入一个正整数,求它各位上数字的和
后台结果展示:
补充说明:
后台结果查看:
补充说明:"sum=0"这个变量注意放在while循环外部,放在循环内部,则没循环一次,sum都会被重新赋值为0,达不到累加的要求。
练习1:百钱买百鸡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>百钱买百鸡</title> <script type="text/javascript"> //cock--公鸡,hen--母鸡,chicken--小鸡 // 普通做法 function doBuy1() { var cnt=0;//cnt用于观察循环的次数,以便查看优化效果 for(var cock=1;cock<=100;cock++) { for(var hen=1;hen<=100;hen++) { for(var chicken=1;chicken<=100;chicken++) { cnt++; if(cock+hen+chicken==100&&cock*5+hen*3+chicken/3==100) { console.debug("doBuy1:cock:"+cock+",hen:"+hen+",chicken:"+chicken); } } } } console.debug("doBuy1:cnt:"+cnt); } // 优化1 function doBuy2() { var cnt=0; //除去必须的一只母鸡一只小鸡,剩余的钱最多买17只公鸡 for(var cock=1;cock<17;cock++) { //除去一只公鸡一只小鸡剩余的钱最多买31只母鸡 for(var hen=1;hen<31;hen++) { for(var chicken=1;chicken<98;chicken++) { cnt++; if(cock+hen+chicken==100&&cock*5+hen*3+chicken/3==100) { console.debug("doBuy2:cock:"+cock+",hen:"+hen+",chicken:"+chicken); } } } } console.debug("doBuy2:cnt:"+cnt); } // 优化2 function doBuy3() { var cnt=0; var sum=100; for(var cock=1;cock<17;cock++) { for(var hen=1;hen<(100-cock*5)/3;hen++) { cnt++; var chicken=100-cock-hen; if(cock*5+hen*3+chicken/3==100) { console.debug("doBuy3:cock:"+cock+",hen:"+hen+",chicken:"+chicken) } } } console.debug("doBuy3:cnt:"+cnt); } </script> </head> <body> <input type="button" value="doBuy1" onclick="doBuy1()"> <input type="button" value="doBuy2" onclick="doBuy2()"> <input type="button" value="doBuy3" onclick="doBuy3()"> </body> </html>
后台结果:
说明:对程序进行优化,减少for循环语句的循环次数,可以减小系统运行负荷
2.练习2:接受用户输入的一个正整奇数,并打印出如题目中所示图形
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>题2</title> <script type="text/javascript"> function doTest() { while(true) { //判断输入的数是否为一个正整奇数 //输入错误则通过continue跳出本次循环进入下次循环再输数字 //输入正确则跳出整个循环进去while后面的语句 var n=prompt("请输入一个正整奇数:")*1; if(n>0 && !(isNaN(n)) && n%2==1) { break; } else{ continue; } } for(var i=1;i<=n;i++) { var str=""; for(var j=1;j<=n;j++) { if(i==1 || i==n || j==1 || j==n || i+j==n+1 || i==j) { str+="* "; } else{ str+=" "; } } console.debug(str); } console.debug("n="+n); } doTest(); </script> </head> <body> </body> </html>
后台结果显示:
3.练习3:输入一个正整数,求它各位上数字的和
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>题3</title> <script type="text/javascript"> function doTest() { while(true) { //判断输入的数是否为一个正整数 //输入错误则通过continue跳出本次循环进入下次循环再输数字 //输入正确则跳出整个循环进去while后面的语句 var num=prompt("请输入一个正整数:"); if(num>0 && !(isNaN(num))) { break; } else{ continue; } } var sum=0; for(index in num) { sum+=num[index]*1; } console.debug("num="+num+";sum="+sum); } doTest(); </script> </head> <body> </body> </html>
后台结果展示:
补充说明:
- 与练习2相比,在用户输入数据后,练习2将在数据后“ *1 ”,因为prompt输入的数据为字符串类型,*1后将其转化为number类型;
- 在练习3中并没有将其数据类型进行转化,利用其string类型的特性,通过for...in遍历每位上的数字,此时通过“ *1 ”方法将其转化为number型逐位相加
function doTest() { var sum=0; while(true) { var num=prompt("请输入一个数:")*1; if(num==0) { console.debug("num="+num); break; } else { sum+=num; } console.debug("num="+num); } console.debug("sum="+sum); } doTest();
后台结果查看:
补充说明:"sum=0"这个变量注意放在while循环外部,放在循环内部,则没循环一次,sum都会被重新赋值为0,达不到累加的要求。
发表评论
-
JS内置对象(日期类 Date)
2016-06-23 00:08 783Date对象 1.创建 语法:var newD ... -
JS内置对象(算术类Math)
2016-06-22 01:21 727Math对象 1.Math对象不像String那样是对象的类, ... -
JS内置对象(Array数组对象)
2016-06-21 00:51 644Array对象 1.创建语法(2种): 1.1语法1: var ... -
JS内置对象(String/字符串对象)
2016-06-16 01:17 485Javascript中,对象是数据,拥有属性与方法 字符串(S ... -
window对象
2016-06-13 23:59 396window对象 window 对象是J ... -
BOM 浏览器对象模型
2016-06-11 23:43 418Window对象 1.所有浏览器都支持window对象,它表示 ... -
JS自定义函数(递归、回调、匿名函数)
2016-06-10 00:58 814JS自定义函数 1.递归 说明:递归表示函数自己调用自己,分两 ... -
JS自定义函数
2016-06-09 00:16 531自定义函数 1.定义(3种) 语法1: function 函数 ... -
JS函数(内置函数)
2016-05-31 23:52 1364内置函数 1.类型转换函数 1)函数: parseInt:p ... -
JS基础语法(循环语句)
2016-05-30 00:19 627循环语句 一、for循环语句(定长循环语句) 1.for语句( ... -
JS基础语法(switch语句)
2016-05-29 00:21 485switch语句:多分支语句 1.switch语句是用来选择要 ... -
JS基础语法3(if-else语句)
2016-05-09 23:27 6391. if-else语句:单分支语句 a) 语法: if ... -
JS基础语法2之运算符
2016-05-08 21:34 5541. 算术运算符(JS基础语法1) 2. 关系运算符 a) 包 ... -
Javascript--JS基础语法1
2016-05-08 21:02 4031.HTML页面引用JS的方式 ...
相关推荐
JavaScript学习函数时,常常会听懂了却做不来实际例子,本资源有部分函数的经典案例及答案,其中有些是基础题,有些逻辑对新人来说难以理解,希望对大家有所帮助。
JavaScript函数-第2部分创建一个空白的,有效HTML5文档。 创建一个JavaScript文件解决每个给定的问题,创建一个返回值的函数。 然后将函数的结果输出到JavaScript控制台。例子 function test ( str ) { return "test...
本压缩包“JavaScript学习笔记_js常用函数封装_js包.zip”包含了对JavaScript基础及进阶技巧的学习资料,特别关注了函数封装和模块化开发实践。 首先,`tool.js`可能是一个实用工具函数集合,封装了一些常见的...
### JS基础练习题知识点解析 #### 一、选择题知识点详解 **1. 分析代码输出结果** - **代码分析**: 这段代码初始化了一个数组`arr`,然后使用一个循环来累加数组中的所有元素(除了第一个元素)。变量`sum`用来...
以下是关于JavaScript函数的详细讲解: 1. **函数定义**: - 无参函数定义:`function 函数名 () { 代码... }` - 有参函数定义:`function 函数名 (参数列表) { 代码... }` - 参数列表中的参数可以是变量、常量...
javascript的函数的简单使用小实例
"jsexercises:JS函数练习" 提供了一系列的JavaScript练习题,旨在帮助开发者深入理解和掌握JavaScript中的函数用法。在这个压缩包文件中,"jsexercises-master"很可能是包含所有练习的源代码目录。 JavaScript函数...
通过这些练习,你不仅能加深对JavaScript函数式编程的理解,还能提升代码质量和可维护性。在实际开发中,函数式编程能帮助写出更简洁、无副作用的代码,易于测试和调试,同时也易于并行化处理,尤其在处理大量数据时...
函数练习.js
"各种数学函数算法实现js版本"是一个专门为这些需求提供的资源,它包含了多种数学函数的JavaScript实现,可以极大地提高开发效率,避免重复造轮子,同时减少服务器与客户端之间的数据交换,提升用户体验。...
JavaScript函数式编程是一种编程范式,它将计算视为数据处理,并强调使用无副作用的纯函数。...本电子教程将详细解释每一个概念,并提供丰富的示例和练习,帮助读者掌握JavaScript函数式编程的精髓。
本实践项目“js_HTML_Dom操作练习”旨在帮助初学者熟悉DOM的基本操作,包括查找、修改和添加网页元素。在这个过程中,我们将探讨几个关键的DOM接口和方法,以加深对JavaScript与HTML交互的理解。 1. **获取元素**:...
构造函数,原型和此JavaScript基础目标解释“ this”关键字的四个原理,并举例说明每个解释描述并使用原型,构造函数new关键字和伪古典继承来构建对象介绍为了完成这些任务,您将需要新获得的有关构造函数,原型和...
函数练习 函数是 JavaScript 中的一种基本结构,用于封装代码块,实现代码的重用和模块化。练习题一中,我们编写了一个函数,用于输出 1~1000 之间所有能同时被 3,5,7 整除的证书,并要求每行显示 6 个这样的数。...
JavaScript中的作用域是一个非常核心的概念,它决定了变量和函数的可见性和生命周期。在学习JavaScript作用域之前,我们需要先了解在其他编程语言中常见的块级作用域(block scope)。在像C语言这样的编程语言中,每...
在这个"javascript-functions-pt1"的练习中,我们将深入探讨JavaScript函数的基础知识,包括它们的定义、调用方式以及如何使用函数来组织代码。 一、函数的定义 在JavaScript中,函数是一种可重复使用的代码块,...
函数综合练习 5.6 综合练习 【练习1】编写一个函数 f(x) = 4x^2+3x+2,使用户通过提示对话框输入x的值,能得到相应的计算结果。 5.6 综合练习 【练习2】编写一个函数Min(x,y)求出x,y这两个数中的最小值,要求x,y的...
这个压缩包文件“北大青鸟javascript上机练习和课后习题”很可能包含了丰富的学习资源,旨在通过实践来巩固理论知识。 首先,我们要了解JavaScript的基本概念。它是一种解释型、面向对象的脚本语言,主要应用于网页...
本压缩包文件“js2阶段的js第一章课后习题答案”是针对JavaScript学习者的一个资源,特别是那些正在进行js2阶段学习的学员。这个章节通常涵盖JavaScript的基础概念,包括语法、变量、数据类型、操作符、流程控制以及...