//用户输入数字,根据用户的选择打印星星 //正着打星星函数 let chooseOne = line => { let strSpace = ""; let strStar = ""; //该层for循环控制星星的行数 for(let i=1; i<=line; i++) { //该层for循环控制空格数 for(let j=1; j<=line-i; j++) { strSpace = strSpace + " "; } //该层for循环控制星星的数量 for(let k=1; k<=2*i-1; k++) { strStar = strStar + '*'; } console.log(strSpace + strStar);//打印空格和星星 //重置空格和星星的字符串 strSpace = ""; strStar = ""; } } //倒着打星星 let chooseTwo = line => { let strSpace = ""; let strStar = ""; //该层for循环控制星星的行数 for(let i=1; i<=line; i++) { //该层for循环控制空格数 strSpace += " ";//打印空格之前专门多打印一个空格,为了方便后面打印菱形 for(let j=1; j<=i-1; j++) { strSpace = strSpace + " "; } //该层for循环控制星星的数量 for(let k=1;k<=line*2-(2*i-1); k++) { strStar = strStar + '*'; } console.log(strSpace + strStar);//打印空格和星星 //重置空格和星星的字符串 strSpace = ""; strStar = ""; } } //空心三角形 let chooseThree = line => { let strSpace = ""; let strStar = ""; //该层for循环控制星星的行数 for(let i=1;i<=line;i++) { //该层for循环控制空格数 for(let j=1; j<=line-i; j++) { strSpace = strSpace + " "; } //该层for循环控制星星的数量 for(let k=1; k<=2*i-1; k++) { //如果是第一行,或者最后一行 或者第一个星星 或者最后一个星星 if(i==1 || i==line || k==1 || k==2*i-1) { strStar = strStar + '*';//字符串里面拼接* } else{ strStar = strStar + ' ';//字符串里面拼接' ' } } console.log(strSpace + strStar);//打印空格和星星 //重置空格和星星的字符串 strSpace = ""; strStar = ""; } } //菱形 let chooseFour = line => { let top = parseInt((line+1)/2);//正着的星星的行数 let bottom = line - top;//倒着的星星的行数 //首先正着打星星 chooseOne(top); //接下来倒着打星星 chooseTwo(bottom); } "use strict" let readline = require("readline-sync"); console.log("请输入您要打印的图形: 1.正着打星星 2.倒着打星星 3.空心三角形 4.菱形(奇数)"); let choose = parseInt(readline.question("")); console.log("请输入星星的行数:"); let line = parseInt(readline.question("")); switch(choose) { case 1: chooseOne(line); break; case 2: chooseTwo(line); break; case 3: chooseThree(line); break; case 4: chooseFour(line); break; default: console.log("您的输入有误"); }
//判断是否为回文数 let readline = require("readline-sync"); console.log("请输入你要进行判断的回文数:"); let oldNum = parseInt(readline.question(""));//用于存放用户输入的数 1234 let newNum = 0;//用于存放倒过来的数 //将用户输入的数倒过来赋值给newNum for(let temp = oldNum;temp!=0; temp = parseInt(temp/10))//temp 0 { newNum = newNum*10 + temp%10;//4321 为什么要乘以10呢? } if(newNum == oldNum) { console.log("是回文数"); } else{ console.log("不是回文数"); }