1.为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?
var a = 89;
var d = parseInt(a / 24);
var h = a % 24
console.log("需要" + d + "天" + h + "小时")
2.输入月份 显示当月天数 利用case穿透简化代码
var m = 4;
switch (m) {
case 2:
console.log("28");
break;
// 只保留最后一个 向下穿透
case 3:
case 1:
case 5:
case 7:
case 8:
case 10:
case 12:
console.log("31");
break;
// 只保留最后一个 向下穿透
case 4:
case 6:
case 9:
case 11:
console.log("30");
break;
}
3.根据一个数字日期,判断这个日期是这一年的第几天。例如: 2016和2和11,计算后结果为42
var m = 3;
var d = 11;
var y = 2016;
var Fab;
switch (m) {
default: console.log("请重新输入正确月份");
case 12:
d += 30; //d=11+30=41
case 11:
d += 31; //d=41+31.....赋值累加
case 10:
d += 30;
case 9:
d += 31;
case 8:
d += 30;
case 7:
d += 30;
case 6:
d += 31;
case 5:
d += 30;
case 4:
d += 31;
case 3:
d += (y % 4 === 0 && y % 100 !== 0 || y % 400 === 0) ? 29 : 28;
case 2:
d += 31;
case 1:
d += 0;
}
console.log("这是" + y + "年的第" + d + "天");
4.多行多列的*
// 循环的嵌套 来解决多行多列
// 外层循环控制行 内层循环控制列
for (var j = 1; j < 13; j++) {
for (var i = 0; i < j; i++) {
document.write("*");
}
document.write("<br>")
}
5.阶乘之和
// 循环的嵌套 来解决多行多列
// 外层循环控制行 内层循环控制列
// 1!+2!+3!+4!
// 1*1
// 1*2
// 1*2*3
// 1*2*3*4
for (var j = 1; j <= 5; j++) {
var a = 1;
for (var i = 1; i <= j; i++) {
a = a * j;
}
//i句子加满了跳出 加和
sum = sum + a;
}
console.log(sum);
6.九九乘法表
// 1*1=2
// 1*2=2 2*2=4
// 1*3=3 2*3=6 3*3=9
// .......
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
document.write(j + "*" + i + "=" + i * j + " ")
}
document.write("<br>")
}
7.篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度小于0.1米(必须用到关键字break)
var h = 5;
var i = 1;
while (true) {
h = h * 0.3;
if (h < 0.1) {
break;
}
i++;
}
console.log(i);
8.打印出1000-2000年中所有的闰年,并以每行四个数的形式输出(document.write)
var n = 0;
for (var y = 1000; y <= 2000; y++) {
if (y % 4 === 0 && y % 100 != 0 || y % 400 === 0) {
document.write(y + " ");
n++;
// 只转一行 放在外面就会一直转行
if (n % 4 === 0) {
document.write("<br>")
}
}
}
9.求100-999之间的水仙花数 abc =a^3+b^3+c^3
for (var i = 100; i <= 999; i++) {
// 给if使用,放在外面if就用不到了
var a = parseInt(i / 100);
var b = parseInt(i / 10) % 10;
var c = i % 10;
if (i === a * a * a + b * b * b + c * c * c) {
console.log(i);
}
}
10.完成一个梯形打印功能
for (i = 1; i <= 7; i++) {
for (var j = 7; j > i; j--) {
//空格部分
document.write(" ");
} //星区1
for (var j = 0; j <= i; j++) {
document.write("*");
} //星区2
for (var j = 1; j <= i; j++) {
document.write("*");
} //换行
document.write("<br>");
}
11.有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,第四个里面放8,棋盘上放的所有芝麻的重量
// 每个方格是前一个的二倍
// 1
// 1*2
// 1*2*2
// 1*2*2*2
// 1*2*2*2*2
// 1*2*2*2*2*2
var sum = 0;
for (var i = 1; i <= 64; i++) { //a棋盘格
var a = 1; //每行初始化a为1
for (var j = 1; j <= i; j++) {
a = a * 2;
}
sum += a;
}
console.log(sum * 0.00001);
12.加密处理
//某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,请编写一个函数,传入原文,输出密文
// 3 7 1 5
// 8 12 6 10
// 8 2 6 0
// 0 6 2 8
function fun(num) {
var a = parseInt(num / 1000);
var b = parseInt(num / 100) % 10;
var c = parseInt(num / 10) % 10;
var d = num % 10;
// console.log(a, b, c, d);
a = (a + 5) % 10;
b = (b + 5) % 10;
c = (c + 5) % 10;
d = (d + 5) % 10;
// 拼接返回
return '' + d + c + b + a;
}
console.log(fun(3715));
13.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米
// 1 0.0001*2
// 2 0.0001*2*2
// 3 0.0001*2*2*2
var h = 0.0001;
var i = 0;
while (true) {
h = h * 2;
i++;
if (h > 8848) {
break;
}
}
console.log(i); //i=27
14.羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能?
for (i = 1; i < 200 / 15; i++) {
for (j = 1; j < 200 / 3; j++) {
for (k = 1; k < 200 / 2; k++) {
if (i * 15 + j * 3 + k * 2 === 200) {
console.log('羽毛球拍' + i + '个,球' + j + '个,水' + k + '个');
}
}
}
}
15.利用递归求10的阶乘
// 10!=10*9!
// 9!=9*8!
// 8!=8*7!
// ...
function fn(num) {
if (num === 1) {
return 1;
}
return num * fn(num - 1);
}
console.log(fn(10));
16.随机十六进制颜色值(#)
// 生成随机的十六进制的颜色值 6位 每两位是一个部分
// 15 f 一位 在f前加“0”,通过字符长短判断是否加“0”
function random(min, max) {
return Math.round(Math.random() * (max - min) + min);
}
function randomColor() {
var r = random(0, 255).toString(16);
var g = random(0, 255).toString(16);
var b = random(0, 255).toString(16);
return '#' + creatZero(r) + creatZero(g) + creatZero(b);
function creatZero(n) {
return n.length < 2 ? "0" + n : n;
}
}
document.body.style.background = randomColor();