今天开始整理第三部分的JavaScript小案例,最近整理的这个【day系列】是纯例题系列,也是通过多敲几行代码增加对各种方法的熟练程度,提高代码速度。
过两天会重新更新另一个系列,名字还没想好,谈一谈每个系列里面一些不同容易理解的概念定义。不过已经在准备内容了,有兴趣的小伙伴加个关注不迷路哦!
话不多说,上今天干货 !
话不多说,上今天干货 !
话不多说,上今天干货 !
案例一:(3种写法)求100以内所有能被3和7整除的数的和
1、用 if while do…while分别写一遍 增加对代码的认识
// 方法一 常规if语句
var sum = 0;
for (var i = 1; i <= 100; i++) {
if (i % 3 == 0 && i % 7 == 0) {
sum += i;
}
}
console.log(sum);
// 方法二 用while 不过i++ 别放错位置
var sum = 0;
var i = 1;
while (i <= 100) {
if (i % 3 == 0 && i % 7 == 0) {
sum += i;
}
i++
}
console.log(sum);
// 方法三 do while
var sum = 0;
var i = 1;
do {
if (i % 3 == 0 && i % 7 == 0) {
sum += i;
}
i++
} while (i <= 100)
console.log(sum);
案例二:把1-100之间所有能够被3和7同时整除的数找出来,计算累加和
1、还是用 if while do…while分别写一遍
// 方法一 常规for 循环
var str = '';
var sum = 0;
for (var i = 1; i <= 100; i++) {
if (i % 3 == 0 && i % 7 == 0) {
str += i + '\t';
sum += i;
}
}
console.log(str);
console.log(sum);
// 方法二 用while试试 用while的时候 注意i 需要定义
var str = '';
var sum = 0;
var i = 1;
while (i <= 100) {
if (i % 3 == 0 && i % 7 == 0) {
str += i + '\t';
sum += i;
}
i++;
}
console.log(str);
console.log(sum);
// 方法三 用do while
var str = '';
var sum = 0;
var i = 1;
do {
if (i % 3 == 0 && i % 7 == 0) {
str += i + '\t';
sum += i;
}
i++;
} while (i <= 100)
console.log(str);
console.log(sum);
案例三:(4种写法)使用for循环打印三角形
// - 题目描述:
// - 在控制台一次性打印形状如下:
// ☆
// ☆☆
// ☆☆☆
// ☆☆☆☆
// ☆☆☆☆☆
解析:方法有很多种 但是一定要理清逻辑,第一层for 管的是行数,第二层for管的是个数,所以就要明白关键在于,第一层for执行完,需要加换行,第二个for 控制好个数
1、正常if 循环
2、改变初始 i 值,学会灵活改写 i 的初始值,有些人同学纠结,i 设置初始值是 0 还是 1,其实这个只要能实现需求,设置哪一个都行 ,没有什么硬性规定
3、中间用了一个 while 双循环来改写的 ,大家可以通过这个案例,增加一下对while 双循环使用的认识
// if 语法
// 写法一
var str = '';
for (var i = 1; i <= 10; i++) {
for (var j = 1; j <= i; j++) {
str += '★'
}
str += '\n'
}
console.log(str);
// 写法二
var str = '';
for (var i = 10; i >= 1; i--) {
for (var j = i; j <= 10; j++) {
str += '★'
}
str += '\n'
}
console.log(str);
// 用while 双层套用
var str = '';
var i = 1, j = 1;
while (i <= 10) {
j = 1 // 关键在这
while (j <= i) {
str += '★'
j++
}
str += '\n'
i++
}
console.log(str);
// 写法二
var str = '';
var i = 10, j = 1;
while (i >= 1) {
j = i
while (j <= 10) {
str += '★'
j++
}
str += '\n'
i--
}
console.log(str);
案例四:(2种写法)使用for循环,打印99乘法表
1、用常规的 双重 for 循环 来写
2、用 双重while 循环
// - 利用双重for循环
var str = '';
for (var i = 1; i <= 10; i++) {
for (var j = 1; j <= i; j++) {
str += j + 'x' + i + '=' + i * j + '\t'
}
str += '\n'
}
console.log(str);
// - 利用双重while循环
var str = '';
var i = 1, j = 1;
while (i <= 10) {
j = 1 // 关键在这
while (j <= i) {
str += j + 'x' + i + '=' + i * j + '\t'
j++
}
str += '\n'
i++
}
console.log(str);
案例五:(2种写法)求1-100之间个位数不为3的数的累加和。
这个比较简单,写了一种,知道思路就行,其他的方式随便改写
// 思路一 用continue
var sum = 0;
for (var i = 1; i <= 10; i++) {
if (i % 10 == 3) {
continue;
}
sum += i;
}
console.log(sum);
var sum = 0;
for (var i = 1; i <= 10; i++) {
if (i % 10 != 3) {
sum += i;
}
}
console.log(sum);
案例六(送一个题):(2种写法)开始第35个能被7和3整除的整数数
1、用 for 和 while 分别写了一遍
var sum = 0;
var str = '';
for (var i = 1; i <= 35; i++) {
if (i % 3 == 0 || i % 7 == 0) {
str += i + '\t'
sum += i;
console.log('第' + i + '是能被3或7整除的数')
}
}
console.log(str);
console.log(sum);
// 方法一 while循环 嵌套if
var sum = 0;
var str = '';
var i = 1;
while (i <= 35) {
if (i % 3 == 0 || i % 7 == 0) {
str += i + '\t'
sum += i;
console.log('第' + i + '是能被3或7整除的数')
}
i++
}
console.log(str);
console.log(sum);
今天的5道例题就整理到这了,例题内容部分难免有点枯燥,毕竟搜索到这篇文章的老铁们也是为了看一看写法,互相借鉴一下,讨论的点不多,所以我也没加太多的旁白在里面。