let a =[1,23,2,4,34,245,64,26,235,346,25,235]
for(let i=0;i<a.length;i++){
if(a[i]>a[i+1]){let b = a[i+1]
a[i+1]= a[i]
a[i]= b
}}
2、输出九九乘法表
// 定义一个string类型的变量,用于存放乘法表结果
var output2 ="";
// 第一层循环,第一个因数,1~9
for(var i =1; i <=9; i++){
// 第二层循环,第二个因数,1~i
for(var j =1; j <= i; j++){
// j*i = j * i,制表符用来对齐
output2 += j + "*" + i + "=" + i * j + "\t";}
// 每一行输出后,增加换行
output2 +="\n";}
// 输出乘法表结果
console.log(output2);
3、输出水仙花数
// 定义三个变量,用于取出三位数的百位,十位,千位
var a =0,
b =0,
c =0;
// 定义一个string类型的变量,用于存放计算结果
var output3 ="水仙花数有:";
// 从101到999循环,水仙花数是一个三位数
for(var num =101; num <=999; num++){
// 取出百位
a = parseInt(num / 100);
// 取出十位
b = parseInt(num % 100 / 10);
// 取出个位
c = parseInt(num % 100 % 10);
// 判断是否满足水仙花数的条件
if(a * a * a + b * b * b + c * c * c == num){
// 将满足条件的数存入结果
output3 += num + " ";}}
// 输出结果
console.log(output3);
4、1–10的阶乘和
// 定义结果
var result =0;
// 定义阶乘结果
var factorial =1;
// 第一层循环表示从1到10循环
for(var i =1; i <=10; i++){
// 第二层循环表示求1到10的每一个数的阶乘的过程
for(var j =1; j <= i; j++){
// 求阶层的方法
factorial = factorial * j;}
// 将每次循环的阶乘结果加到定义的结果中
result = result + factorial;
// 阶乘结果每次循环之后回到初始值
factorial =1;}
// 输出最终的阶乘和的结果
console.log("1--10的阶乘和为:" + result);
5、输出1900年至2100年中的所有闰年
// 定义结果集,并给出提示,用于储存结果
var result5 ="1900年至2100年中的所有闰年有:\n";
// 设置一个标志,用来判断每行是否有5个年份
var flag =0;
// 1900-2100循环,依次计算
for(var year =1900; year <=2100; year++){
// 判断是都满足闰年的条件
if((parseInt(year %4)==0)&&(((parseInt(year %100)!=0))||(parseInt(year % 400)==0))){
// 满足条件的年份放入结果集中并加入空格隔开
result5 += year + "\t";
// 每往结果集中放一个年份标志加1
flag++;}
// 如果标志等于5,表示每一行有了5个年份,需要换行操作
if(flag ==5){
// 结果集中加入换行
result5 +="\n";
// 重置标志
flag =0;}}
// 输出最终结果
console.log(result5);
6、输出10–100之间的所有素数
// 定义结果集,用于储存后面计算得出的素数并提示
var primeNumbers ="10--500之间的所有素数有:\n";
// 定义一个是否到了5的标志,用于后面控制是否一行有5个数字
var areFive =0;
// 10到500循环,一次利用下面的算法进行判断
for(var num =10; num <=500; num++){
// 定义标志,用来判断能不能被除1和自己本身的其他数整除
var flag =true;
// 用第一次循环中的每一个数,来除以除1和他本身的之间的所有整数
for(var i =2; i <= num - 1; i++){
// 判断这个数除以除1和他本身的之间的所有整数是否有能被整除的情况
if(num % i ==0){
// 如果能被除1和他本身的之间的所有整数整除,标志设置为false
flag =false;
// 跳出本次循环,当前数字不是素数
break;}}
// 如果标志flag在上一步没有被设置成false,表示该数为素数
if(flag ==true){
// 将该次循环中的数字放入结果集中,并增加制表符来对齐
primeNumbers += num + "\t\t";
// 每写入一个素数,判断是否有5个的标志增加1
areFive++;}
// 如果判断是否有5个的标志到了5
if(areFive ==5){
// 给结果集增加一个换行
primeNumbers +="\n";
// 重置标志
areFive =0;}}
// 输出最终的结果
console.log(primeNumbers);
7、1,2,3,4四个数字,能组合成多少种互不相同且没有重复的三位数
// 定义记数标志
var count =0;
// 定义结果集,存放结果
var result7 ="能组合成的互不相同且没有重复的三位数有:\n";
// 三次循环表示三位数,每次循环,都是1,2,3,4
for(var i =1; i <=4; i++){for(var j =1; j <=4; j++){for(var k =1; k <=4; k++){
// 如果三个数字都不相等
if(i != j && j != k && k != i){
// 组合成一个三位数
var sum=100 * i + 10 * j + k;
// 存储到结果集中
result7 +=sum + " ";
// 记数标志加1
count++;}}}}
// 换行后在结果中加入种数
result7 +="\n一共有" + count + "种";
// 输出结果
console.log(result7);
8、取出四位数中的各个位上的数字
//定义一个四位数
var num =4578;
// 输出原四位数
console.log("原四位数是:" + num);
// 取出千位
var a = num / 1000;
// 取出百位
var b = num % 1000 / 100;
// 取出十位
var c = num % 1000 % 100 / 10;
// 取出个位
var d = num % 1000 % 100 % 10;
//取出个位的另一种
//var d = num % 10;
console.log("千位是:" + parseInt(a) + ",百位是:" + parseInt(b) + ",十位是:" + parseInt(c) + ",个位是:" + parseInt(d));
9、猴子吃桃问题
console.log("猴子吃桃子问题:猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。");
console.log("\t\t\t第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。");
console.log("\t\t\t到第10天在想吃的时候就剩一个桃子了。求第一天共摘下来多少个桃子?");
// 定义总数
var sum=1;
// 按照题目从第10天往前计算
for(var i =1; i <10; i++){sum=(sum + 1) * 2;}
// 输出结果
console.log("计算答案:第一天共摘下来的桃子个数是" + sum + "个");
10、用星号输出菱形
// 定义结果集,用来存放星号和空格
var result10 ="";
// 定义菱形宽度
var width =10;
// 菱形上半部分,循环递增
for(var i =1; i <= width; i++){
// 菱形上半部分,空格递减
for(var a = width - i; a >=1; a--){
result10 +=" ";}
// 菱形上半部分,星号递增
for(var j =1; j <= i * 2 - 1; j++){
result10 +="*";}
// 每一行结束后换行
result10 +="\n";}
// 菱形下半部分,循环递减
for(var i = width - 1; i >=1; i--){
// 菱形下半部分,空格递增(递减的递减)
for(var a = width - i; a >=1; a--){
result10 +=" ";}
// 菱形下半部分,星号递减(递减的递增)
for(var j =1; j <= i * 2 - 1; j++){
result10 +="*";}
result10 +="\n";}
console.log(result10);