在控制台中输出 100 个 *
for (var i = 0; i < 100; i++) {console.log("*");}
输出 1-100 的所有数字
for (var i = 0; i < 100; i++) {console.log(i + 1);}
输出 1-100 的所有奇数
for (var i = 1; i < 100; i += 2) {console.log(i);}
求 1-100 之间所有数字之和
var sum = 0;for (var i = 1; i <= 100; i++) {sum += i;}console.log(sum); // 5050
求 1-100 之间所有奇数之和
var sum = 0;for (var i = 1; i <= 100; i++) {if (i % 2 !== 0) {sum += i;}}console.log(sum); // 2500
求 1-10 之间所有数字的积
var sum = 1;for (var i = 1; i <= 10; i++) {sum *= i;}console.log(sum); // 3628800
输出一个 3 行 5 列的 * 号矩阵
***************
var r = 3,c = 5;for (var i = 0; i < r; i++) {//循环r次//在一行内输出c个*号var str = "";for (var j = 0; j < c; j++) {str += "*";}console.log(str);}
用 * 号输出一个 5 行的直角三角形
***************
var r = 15;for (var i = 1; i <= r; i++) {//输出一行星号,数量为ivar str = "";for (var j = 0; j < i; j++) {str += "*";}console.log(str);}
用 * 号输出一个 5 行的等腰三角形
*************************
var r = 5;for (var i = 1; i <= r; i++) {// 输出1行var str = "";// 1. 拼接空格,数量为r-ifor (var j = 0; j < r - i; j++) {str += " ";}// 2. 拼接星号,数量为2*i-1for (var j = 0; j < 2 * i - 1; j++) {str += "*";}console.log(str);}
判断数字 233 是不是素数。
素数是指一个数(大于1)仅能被1和自身整除
var num = 233;var isFind = false;for (var i = 2; i <= num - 1; i++) {if (num % i === 0) {isFind = true;break;}}if (num <= 1 || isFind) {console.log(`${num} 不是一个素数`);} else {console.log(`${num} 是一个素数`);}
(提升)题目改成:改成 判断 1-233 哪些数是素数。
提示:可以使用两层 for 循环来实现。
for (var num = 1; num <= 233; num++) {var isFind = false;for (var i = 2; i * i <= num; i++) {if (num % i === 0) {isFind = true;break;}}if (num <= 1 || isFind) {// 如果 num 是1或者找到了除了1和自身以外的约数,那么 num 不是素数// console.log(`${num} 不是一个素数`);} else {// 如果 num 是大于1的数并且没有找到除了1和自身以外的约数,那么 num 是素数console.log(`${num} 是一个素数`);}}
输出 1-100 中的所有素数
for (var j = 1; j <= 100; j++) {var isFind = false;for (var i = 2; i <= j - 1; i++) {if (j % i === 0) {isFind = true;break;}}if (j <= 1 || isFind) {continue;// console.log(`${j} 不是一个素数`);} else {console.log(`${j} 是一个素数`);}}
求1-100之间的所有素数之和
var sum = 0; //记录和for (var i = 2; i <= 100; i++) {//i是不是素数var isFind = false; // 默认没有找到能被1和自身整数的其余的除数 是素数for (var j = 2; j < i - 1; j++) {if (i % j === 0) {isFind = true; // 找到能被1和自身整数的其余的除数 不是素数break;}}if (!isFind) {sum += i;}}console.log(sum);
输出99乘法表,效果如下:
1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
for (var i = 1; i <= 9; i++) {// 输出1行// 拼接i个等式var str = "";for (var j = 1; j <= i; j++) {str += `${j}*${i}=${i*j}\t`;}console.log(str);}
和第 4 题的原理,其实是一样的,只不过这里打印的东西不再是
*号罢了。
猜拳游戏,记录系统和玩家的积分,获胜者加1分,平局和输者不计分。
可参考以下效果:
游戏开始==============第1轮==============系统:0分,玩家:0分你的出拳:剪刀系统出拳:布你赢了!==============第2轮==============系统:0分,玩家:1分你的出拳:石头系统出拳:布你输了!==============游戏结束==============系统:1分,玩家:1分
console.log("游戏开始");var round = 1, //轮次pcScore = 0, //系统分数playerScore = 0; //玩家分数while (true) {// 1轮游戏console.log(`==============第${round}轮==============`);console.log(`系统:${pcScore}分,玩家:${playerScore}分`);var fist = prompt("请出拳(剪刀、石头、布)");if (fist === null) {//取消break;}//没有取消if (fist !== "剪刀" && fist !== "石头" && fist !== "布") {//出拳无效console.log("出拳无效,请重新出拳!");continue;}//出拳有效console.log(`你的出拳:${fist}`);var pcFist = Math.random(); //系统随机出拳if (pcFist < 0.3333) {pcFist = "剪刀";} else if (pcFist < 0.6666) {pcFist = "石头";} else {pcFist = "布";}console.log(`系统出拳:${pcFist}`);//判断胜负if (fist === "剪刀" && pcFist === "布" ||fist === "布" && pcFist === "石头" ||fist === "石头" && pcFist === "剪刀") {//玩家胜利playerScore++;console.log("你赢了!");} else if (fist === pcFist) {console.log("平局");} else {pcScore++;console.log("系统胜利!");}//轮次+1round++;}console.log("==============游戏结束==============");console.log(`系统:${pcScore}分,玩家:${playerScore}分`);
