循环语句是各种编程语言的入门,是非常重要的一部分。
以下是几个练习:
一个游戏,前20关是每一关自身的分数,21-30关每一关是10分,31-40关,每一关是20分,41-49关,每一关是30分,50关,是100分;输入你现在闯到的关卡数,求你现在拥有的分数
for嵌套if或者if嵌套for都可以实现,但前者比后者更加简明
1. for嵌套if
1 var n=prompt('请输入关卡数'); 2 var sum=0; 3 for(i=1;i<=n;i++){ 4 if(n>50||n<0){ 5 alert('错误'); 6 } 7 else{ 8 if(i<=20){ 9 sum+=i; 10 } 11 else if(i<=30){ 12 sum+=10; 13 } 14 else if(i<=40){ 15 sum+=20; 16 } 17 else if(i<50){ 18 sum+=30; 19 } 20 else{ 21 sum+=100; 22 } 23 } 24 } 25 alert(sum);
2. if嵌套for
每次else if后都要把所有的循环写全
1 var n=prompt('输入关卡数'); 2 var sum=0; 3 if(n>50){ 4 alert('关卡数不能大于50'); 5 } 6 else if(n<0){ 7 alert('关卡数不能为负'); 8 } 9 else{ 10 if(n<=20){ 11 for(var i=1;i<=n;i++){ 12 sum+=i; 13 } 14 } 15 else if(n<=30){ 16 for(var i=1;i<=20;i++){ 17 sum+=i; 18 } 19 for(var i=21;i<=n;i++){ 20 sum+=10; 21 } 22 } 23 else if(n<=40){ 24 for(var i=1;i<=20;i++){ 25 sum+=i; 26 } 27 for(var i=21;i<=30;i++){ 28 sum+=10; 29 } 30 for(var i=31;i<=n;i++){ 31 sum+=20; 32 } 33 } 34 else if(n<=49){ 35 for(var i=1;i<=20;i++){ 36 sum+=i; 37 } 38 for(var i=21;i<=30;i++){ 39 sum+=10; 40 } 41 for(var i=31;i<=40;i++){ 42 sum+=20; 43 } 44 for(var i=41;i<=n;i++){ 45 sum+=30; 46 } 47 } 48 else{ 49 for(var i=1;i<=20;i++){ 50 sum+=i; 51 } 52 for(var i=21;i<=30;i++){ 53 sum+=10; 54 } 55 for(var i=31;i<=40;i++){ 56 sum+=20; 57 } 58 for(var i=41;i<=49;i++){ 59 sum+=30; 60 } 61 sum+=100; 62 } 63 alert(sum); 64 }
求阶乘的和1!+2!+3!+4!+...+N!
1 var n=prompt(''); 2 var sum=0; 3 for(var x=1;x<=n;x++){ 4 var factorial=1; 5 for(var y=1;y<=x;y++){ 6 factorial*=y; 7 } 8 sum+=factorial 9 } 10 alert(sum);
或者
1 var n=prompt(''); 2 var sum=0; 3 var factorial=1; 4 for(var x=1;x<=n;x++){ 5 factorial *= x; 6 sum += factorial; 7 } 8 alert(sum);
乘法口诀表
1 for(var x=1;x<=9;x++){ 2 var str=''; 3 for(var y=1;y<=x;y++)
{ 4 str += y+'*'+x+'='+x*y+' '; 5 } 6 document.write(str+'<br/>'); 7 }
打印三角形
左上
1 for(var i=1;i<=5;i++) 2 { 3 for(var j=1;j<=i*2-1;j++) 4 { 5 document.write("*"); 6 } 7 document.write("<br/>") 8 }
右上//在左上三角的基础上加入一个倒三角形的空格群
for(var i=1;i<=5;i++)
{ for(var sp=5;sp>=i;sp--) { document.write(" "); } for(var j=1;j<=i*2-1;j++) { document.write("*"); } document.write("<br/>") }