打印五行五列的星星
var ss = '';
//外面循环一次、里面循环全部
for (j = 0; j < 5; j++) {
for (i = 1; i <= 5; i++) {
ss += '♥';
}
//内循环每一次循环完打印一次
ss += '\n';
}
console.log(ss);
打印N行N列的星星
修改把需要循环的行与列设置为一个变量、这个变量赋值为用户输入框、接收值
var rows = prompt('请输入要打印星星的行数');
var cols = prompt('请输入要打印星星的列数');
var str = '';//定义一个空字符串
for (i = 1; i <= rows; i++) {
for (j = 1; j <= cols; j++) {
str += '⭐';
}
str += '\n';
}
console.log(str);
打印倒三角形
var str = '';
// 外层循环一次、里层循环全部、
for (i = 1; i <= 10; i++) {
//当i=1时外层输出一行、里层的j=1时、判断是否符合条件、符合条件、跳到循环体、然后自增1、直到不符合条件跳出循环、
//i执行一次、里面j执行到条件表达式不满足条件、
//i=1 j从1开始执行到10 所以打印10个
//i=2 j从2开始执行到10 所以打印9个
//、依次类推
for (j = i; j <= 10; j++) {
str += '⭐';
}
str += '\n';
}
console.log(str);
打印正三角形1
//1、正三角形思路:行=列、
//当打印第一行的时候需要1颗星星、
// 打印2的时候2颗星星、依次类推
var str = '';
//外层循环1次、里层循环到条件结束
for (i = 1; i <= 9; i++) {
//里层循环让i打印的行数=j的列数、i到第几行、j到第几列
//内层循环从1开始、内层循环要<=外层循环次数、大于就跳出了循环
for (j = 1; j <= i; j++) {
str += '⭐';
}
str += '\n';
}
console.log(str);
打印正三角形2
//1、思路;第一行1颗、第二行2颗、第三行三颗
//2、当外层循环=1的时候、内层循环打印一颗星星、=2时、打印2颗、依次打印
//3、所以设置变量、内层循环的j=i;让j自减
//4、外层循环循环一次、内层循环到false
// 1、第一次循环:j的初始值等于i、当j=1时、j>0符合条件执行循环体、
//循环体执行一次后、执行j--、j自减1后变成0了、就打印了一颗
//第二次循环:初始值为2、条件满足、执行循环体一次、
//2、然后j自减1、2-1=1、然后在执行一次、后1-1为0、第二次循环结束、就打印了2颗
//第三、第四、以此类推
var str = '';
for (var i = 1; i <= 10; i++) {
for (var j = i; j > 0; j--) {
str += '⭐';//循环体
}
str += '\n';
}
console.log(str);
打印九九乘法表
打印九九乘法表与打印正三角原理是一样的、
var str = '';
//外层循环一次、内层循环全部、
for (i = 1; i <= 9; i++) {
//i打印的行数=j的列数、
//j每执到J++就判断一次、直到条件不符合
for (j = 1; j <= i; j++) {
str += i + '*' + j + '=' + i * j + ' ';
}
str += '\n';
}
console.log(str);
返回三个数中的最大值
- 这儿使用的是三元表达式
function getMax(num1, num2, num3, num4) {
var num1 = parseFloat(prompt('请输入第一个数据'));
var num2 = parseFloat(prompt('请输入第二个数据'));
var num3 = parseFloat(prompt('请输入第三个数据'));
// 创建一个临时空间、用于存放1和2中的最大值、
var temp = num1 > num2 ? num1 : num2;
//在创建空间用于存放temp 和num3中的最大值
var Max = temp > num3 ? temp : num3;
//返回最大值
return Max;
}
alert(getMax());
翻转数组
function getArr() {
var arr = [1, 5, 6, 3, 4, 2];
var myArr = [];
//i = arr.length - 1 获取数组元素的长度、
//从最后一个数组元素开始、 每执行1次循环体、数组长度减1
for (i = arr.length - 1; i >= 0; i--) {
//把arr的最后一个数组元素放到myArr的最后、
//每遍历一次都把i的值放到myArr的最后、所以数组元素翻转了过来
myArr[myArr.length] = arr[i];
}
return myArr;
}
console.log(getArr());
冒泡排序
//外层循环每走一次、选取了一次最大值、并且交换到了最后面、
//所以已经交换到最后的数组元素就不用交换了、
//所以j<.leng-i-1;i属于已经交换好的最大值
var aArr = [100, 60, 70, 80, 55];
//内层循环显示趟数
for (i = 0; i < aArr.length - 1; i++) {
//外层循环显示每一趟的交换次数
for (j = 0; j < aArr.length - i - 1; j++) {
if (aArr[j] > aArr[j + 1]) {
//创建临时变量把最大值把最大值赋值给aArr[j+1]、这样就依次排到后面去了
var temp = aArr[j];
aArr[j] = aArr[j + 1];
aArr[j + 1] = temp;
}
}
}
console.log(aArr);
求质数
//条件:返回能被一和自己整除的数
var arr = [];
// 外层循环确定循环的趟数
for (var i = 1; i <= 100; i++) {
//如果i中a=2开始到它本身-1能被i整除的就结束循环、执行下面的代码
//如果直到循环条件结束都不能被整除的话、那就是质数、因为质数只能被它本身整除、
//这儿当执行到a<i的条件不成立时、a会等于i
//所以下面判断的话就会相等
for (var a = 2; a < i; a++) {
if (i % a == 0) {
break;
}
}
//判断是不是它本身、前面结果如何都会判断执行这样代码
//只有a===i才是质数、
if (a === i) {
//把i赋值给空数组
arr[arr.length] = i;
}
}
console.log(arr);