Javascript----while循环

270 阅读1分钟

while循环

while 循环会在指定条件为真时循环执行代码块。

语法

while (条件)
{
    需要执行的代码
}

实例

本例中的循环将继续运行,只要变量 i 小于 5
while (i<5)
{
    x=x + "这个数是 " + i + "<br>";
    i++;
}

do/while循环

do/while 循环是 while 循环的变体
特点:先执行后判断,至少执行一次循环体

语法

do
{
    需要执行的代码
}
while (条件);

实例

即使条件为 false 它也会执行一次,因为代码块会在条件被测试前执行:
                        var i = 1;
			var sum = 0;
			do {
				sum += i;    //循环体
				i++;
			} while (i <= 5);
			document.write("这个值是" + sum);
			

比较For和While

For

                         var sum=0;      //存放和的地方
			                // i++:i=i++;
			for(var i=0; i<=100; i++){
				sum=sum+i;//sum+=i
			}
			document.write("1+2+3+4+...100的值是:" + sum);

while

var i = 1;
			var sum = 0;
			do {
				sum += i;
				i++;
			} while (i <= 100);
			document.write("1+2+3+....+100的值是" + sum);
			

思考题

1.百马驮百粮

大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食;要用100匹马,驮100石粮食,该如何分配 驮100石粮食,大马需要50匹
                        var a = 1;
			while (a < 50) {
				var b = 1;
				while (b <= 100) {
					var c = 100 - a - b;
					if ((a + b + c == 100) || (2 * a + b + c / 2 == 100)) {
						document.write("大马" + a + "中马" + b + "小马" + c + "<br />");
					}
					b++;
				}
				a++;
			}
	

2.小明买牙刷

小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷//(5元)。要把100元整好花掉,可如有哪些购买结合?a=洗发水,b=香皂,c=牙刷 100元可以买6瓶洗发水
                        var a = 1;
			while (a <= 6) {
				var b = 1;
				while (b <= 50) {
					var c = 1;
					while (c <= 20) {
						if (15 * a + 2 * b + c * 5 == 100) {
							document.write("洗发水" + a + "香皂" + b + "牙刷" + c + "<br />");
						}
						c++;
					}
					b++;
				}
				a++;
			}

3.水仙花数

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身x,(例如:1^3 + 5^3+ 3^3 = 153
var i=100;
			while(i<1000){
				var a = i % 10;//个
				var b = parseInt(((i / 10) % 10));//十
				var c = parseInt(i / 100);//百
				if (a * a * a + b * b * b + c * c * c == i) {
					document.write('水仙花数:' + i + '<hr/>');
				}
				i++;
			}

4.猴子摘桃

公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?最后一天剩下一个桃子
                        var a=1;
			var i=1;
			while(i<7){
				a=(a*2)+2;
				i++;
			}
		document.write("公园里刚开始有" + a +"个桃子");
景秀教育