<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>练习</title>
<!--<script src="training1.js"></script>-->
</head>
<body>
<button onclick="fun()">打印正三角形</button>
<button onclick="fun1()">打印反三角形</button>
<button onclick="fun2()">打印等腰三角形</button>
<script>
/*
* 对于三角形的打印的分析如下
* 首先要有双层循环,
* 第一层负责打印三角型的每一层 for(var r=1;r<=l;r++);,相对简单
* 第二层负责打印每一层里面的具体内容,具体分析,每一层和总层数的关系了
* 正三角形:r层总共要打印r个内容,全部打印的都是*,所以r层要打印r个*,for(var i=0,str="";i<r;str+="*",i++);
* 反三角形:r层总共要打印l个内容,r层要打印l-r个空格和r个*:for(var i=0,str="";i<l;str+=i<l-r?" ":"*";i==);
* 等腰三角形:r层总共打印(l+r-1)个内容,其中l-r个空格,2r-1个* for(var i=0,str="";i<l+r-1;str+=i<l-r?" ":"*",i++);
*
* */
/*打印正三角形*/
function fun(){
var l = parseInt(prompt("请输入行数:"));
/*for(var r=1;r<=l;r++){
for(var i= 0,str="";i<r;str+="*",i++);
console.log(str);
}*/
for (var r=1;r<=l;r++){
for (var i= 0,arr=[];i<r;arr.push("*"),i++);
console.log(arr.join(""));
}
}
/*打印反三角形*/
function fun1(){
var l = parseInt(prompt("请输入行数:"));
/*for(var r=1;r<=l;r++){
for(var i= 0,str="";i<l;str+=(i<l-r)?" ":"*",i++);
console.log(str);
}*/
for (var r=1;r<=l;r++){
for (var i= 0,arr=[];i<l;arr.push(i<l-r?" ":"*"),i++);
console.log(arr.join(""));
}
}
/*打印等腰三角*/
function fun2(){
var l = parseInt(prompt("请输入一个数:"));
/*for (var r=1;r<l;r++){
for (var i= 0,str="";i<(l+r-1);str+=(i<l-r)?" ":"*",i++);
console.log(str);
}*/
for (var r=1;r<=l;r++){
for (var i= 0,arr=[];i<(l+r-1);arr.push((i<l-r)?" ":"*"),i++);
console.log(arr.join(""));
}
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title> 打印 </title>
<meta charset="utf-8"/>
<meta name="HSW" content="">
<meta name="Keywords" content="">
<script>
/*******************打印正三角形***************************/
function printstar(l){
for(var r=0;r<l;r++){
for(var i=0,str="";i<r;str+="*",i++);
console.log(str);
}
}
/*******************打印反三角形***************************/
function printstar2(l){
for(var r=0;r<l;r++){
for(var i=0,str="";i<l;i++){
str+=i<l-r?" ":"*";
}
console.log(str);
}
}
/*******************打印等腰三角形***************************/
function printsart3(l){
//传递进来的是字符l,下面又执行:l+r-1,所以要先转成Number类型在计算
l=parseInt(l);
for(var r=0;r<l;r++){
for(var i=0,str="";i<l+r-1;i++){
str+=i<l-r?" ":"*";
}
console.log(str);
}
}
/*******************打印用户输入名字存入数组中***************************
var arr=[];
var input="";
while((input=prompt("请输入用户名:"))!="exit"){//判断用户是否输入了exsi,如果是退出,不是存入数组中
arr[arr.length]=input;
}
console.log(arr);
*/
/*******************查找数组中的最大值getMax**************************
function getMax(arr){
for(var i=1,Max=arr[0];i<arr.length;i++){
(arr[i]>Max)&&(Max=arr[i]);
}
return Max;
}
console.log(getMax([102,14,45,78]));
console.log(getMax([520,1314,234,432]));
/*
/*******************数组中toString和join([seperator])方法**************************
var arr1=[1234,'Hello',new Date()];
console.log(arr1);
console.log(arr1.toString());
console.log(arr1.join("-"));
*/
/*******************splice**************************/
var arr1=[10,20,30,40,50];
//var arr2=arr1.splice(0,2,1,2,3);
var arr2=arr1.splice(0,2,[11,22,32]);
console.log(arr1);
console.log(arr2);
/*
function fun(arr){
arr[0]=0;
}
var arr=12;
fun(arr);
console.log(arr);
*/
</script>
</head>
<body>
<button οnclick="printstar(prompt('请输入行数:'))">正三角形</button>
<button οnclick="printstar2(prompt('请输入行数:'))">反三角形</button>
<button οnclick="printsart3(prompt('请输入行数:'))">当腰三角形</button>
</body>
</html>