js循环语句习题
1、打印出下列图形
●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
//循环的行数
for(var x=1;x<=7;x++){
//循环的列数
for(var y=1;y<=8;y++){
document.write('●');
}
//循环完每一行输出一个换行
document.write('<br />');
}
●
●●
●●●
●●●●
●●●●●
for(var x=1;x<=5;x++){
for(var y=1;y<=x;y++){
document.write('●');
}
document.write('<br />');
}
●●●●●
●●●●
●●●
●●
●
for(var i=5;i>=1;i--){
for(var j=1;j<=i;j++){
document.write("●")
}
document.write("<br>")
}
□□□□●
□□□●●
□□●●●
□●●●●
●●●●●
for(var i=1;i<=5;i++){
for(var a=1;a<=5-i;a++){
document.write("□");
}
for(var b=1;b<=i;b++){
document.write("●");
}
document.write("<br>");
}
2、公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?
for循环
//最后一天剩下一个桃子
var peach= 1;
//反推
for(var i=1;i<=6;i++){
peach=(peach+1)*2;
}
console.log("公园里刚开始有"+peach+"个桃子");
while循环
var peach=1,a=1;
while(a<=6){
peach=(peach+1)*2;
a++;
}
console.log("公园里刚开始有"+peach+"个桃子");
do-while循环
var peach=1,a=1;
do{
peach=(peach+1)*2;
a++;
}while (a<=6)
console.log("公园里刚开始有"+peach+"个桃子");
3、循环输出1~100之间数字的和
var sum=0;
for(var i=1;i<=100;i++){
sum+=i;
}
document.write(sum);
4、1~100奇数和
var sum=0;
for(var i=1;i<=100;i+=2){
sum+=i;
}
document.write(sum+"<br />");
5、1~100偶数和
var sum=0;
for(var i=2;i<=100;i+=2){
sum+=i;
}
document.write(sum);
6、99乘法表倒着写
for(var i=9;i>=1;i--){
for(var j=1;j<=i;j++){
document.write(i+"x"+j+"="+i*j+"  ")
}
document.write("<br>")
}
7、小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?
//a=洗发水,b=香皂,c=牙刷
//100元可以买6瓶洗发水
for(var a=0;a<=6;a++){
//100元可以买50块香皂
for(var b=0;b<=50;b++){
//100元可以买20个牙刷
for(var c=0;c<=20;c++){
//满足条件
if(15*a+2*b+5*c==100){
document.write("洗发水:"+a+"香皂:"+b+"牙刷:"+c+"<hr />");
}
}
}
}
8、凑钱1,2,5凑20元钱有多少种可能?
//a=一元,b=两元,c=五元
//20元可以换20个一元
for(var a=0;a<=20;a++){
//20元可以换10个两元
for(var b=0;b<=10;b++){
//20元可以换4个五元
for(var c=0;c<=4;c++){
//满足条件
if(a+2*b+5*c==20){
document.write("一元:"+a+"两元:"+b+"五元:"+c+"<hr />")
}
}
}
}
9、球从100米的高度落地,每次落地弹起原高度的一半再落下,求在第10次落下时,共经过了多少米?第10次的反弹了多高?
var a=0,h=100;
while(a<=10){
h=h/2;
a++;
}
document.write(h);
10、球从100米的高度落地,每次落地弹起原高度的一半再落下,求在第10次落下时,共经过了多少米?第10次的反弹了多高?
var money=10000,a=1;
while(a<=5){
money=money*0.003+money;
a++;
}
document.write(money);
11、对1~n进行求和
var n=Math.abs(parseInt(prompt("请输入数字")));
var sum=0;
for(var a=1;a<=n;a++){
sum+=a;
}
document.write(sum);
12、一个篮球的高度为100米 每次落地弹起高度为前一次高度的0.6 问多少次之后高度小于1米?
var x=0,h=100;
while(true){
h=h*0.6;
x++;
if(h<1){
//跳出循环
break;
}
}
document.write(x);
13、一张无限大的纸,可以叠任何次数,已知纸后0.03毫米,对折多上次可达到珠穆朗玛峰的高度8848米
//注意单位换算
var a=0.00003,b=0;
while(true){
a=a*2;
b++;
if(a>=8848){
break;
}
}
document.write(b);
14、计算1~100之间所有不能被3整除的整数的和大于或等于2000的数字
var sum=0;
for(var a=1;a<=100;a++){
if(!(a%3==0)){
sum+=a;
if(sum>=2000){
document.write(sum+"<br>");
}
}
}
15、输入一个年份,判断是否是闰年(能被4整除却不能被100整除的年份,世纪年份能被400整除的是闰年)
var year=parseInt(prompt("请输入年份"));
if((year%4==0 && year%100!=0) || year%400==0){
alert(year+"是闰年");
}else{
alert(year+"是平年");
}
16、输入学生姓名,输入考试成绩若是100,【恭喜你***,满分通过!】若是大于等于80小于100,【**,你很优秀,继续保持!】若是大于等于60小于80,【**成绩良好】大于等于50小于60,【**就差一点点,下次一定要至少及格!】小于50,【**得加油哦】
var Yname=prompt("请输入学生姓名"),score=prompt("请输入学生成绩");
if(score==100){
alert("【恭喜你"+Yname+",满分通过】")
}else if(score>=80 && score<100){
alert(Yname+"【你很优秀,继续保持】")
}else if(score>=60 && score<80){
alert(Yname+"【成绩良好】")
}else if(score>=50 && score<60){
alert(Yname+"【就差一点点,下次一定要至少及格!】")
}else if(score<50){
alert(Yname+"【得加油哦】")
}