//用户输入数字,根据用户的选择打印星星
//正着打星星函数
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("不是回文数");
}