JavaScript前端开发案例教程第二章练习

时间:2023-03-09 00:33:49
JavaScript前端开发案例教程第二章练习

一.打印金字塔:

这是各种语言学习之处都要做的一道题,最近在重新学习js,看到了这个题,做一下记录。

 1 <script type="text/javascript">
2 var level = prompt('请输入金字塔层数'); //1.prompt():用于显示可提示用户进行输入的对话框
//2.parseFloat可解析一个字符串,并返回一个浮点型,parseInt返回一个整型,Number的作用为如果输入为空,那么转为数字的NaN
3 level=parseFloat(level) && Number(level);
4 if(isNaN(level)){ //isNaN用于判断level是否为数字,true则执行下面的语句
5 alert('金字塔层数必须是纯数字!');
6
7 }
8 for(var i = 1;i<=level;++i){
9 //打印空格
10 var blank = level-i;
11 for(var j=0;j<blank;++j){ //内循环用于打印空格&nbsp
12 document.write(' ');
13 }
14 //打印星星
15 var star =2*i-1;
16 for(var k=0;k<star;++k){
17 document.write('*');
18 }
19 document.write('<br>');
20 }
21
22 </script>

二.求出1~100的素数:

质数,又称素数,定义为在大于1的自然数中,除了1和它本身不再有其他因数。

这里我加入了一个prompt()方法,自己输入数字,作为求素数的范围,没有讨论数字为1的情况。

 <script type="text/javascript">
var prime = prompt('请输入一个数');
prime = parseInt(prime) && Number(prime);
if(isNaN(prime)){
alert('请输入一个整数');
} for(var i=2;i<prime;i++){ //范围为2~输入的数,在这之间循环
for(var j=2; j<i;j++){
if(i % j ==0){ //将每一个数与小于它的数进行取余,当余数为0时,该数不是素数
break;
}
else if(j=i-1){ //循环至i-1,如i为素数将被输出
document.write(i+' ');
} }
} </script>

三.有红、白、黑三种球若干,其中红、白球共25个,白、黑球共31个,红、黑球共28个,求这三种球各多少个?

 <script>
//有红白黑三种球,其中红+白=25,白+黑=31,红+黑=28.
for(var red=0;red<=25;red++){ //假设红球的个数不大于25
var w=25-red; //白球满足表达式
var b=28-red; //黑球满足表达式
if(31==w+b){ //if语句为真,则表达式均成立
alert('r='+red+'w='+w+'b='+b);
}
}
</script>