js语句的简单运用编程基础(冒泡 选择)

1、如果一个数大于100就减1,小于100就加1.

     var i=prompt("请输入数字");
       if(i>100){
          i++;
       }
       else{
           i--;
       }
       document.write(i);

2、分别计算出100里的奇数的和、偶数的和。

   let odd=0,even=0,count=1;
   while(count<=100){
        if(count%2==0){
            even=even+count;
        }
       else{
           odd=odd+count;
       }
       count++;
   }
      document.write(even);
      document.write(odd);

3、输出1000以内能被5和7整除的数.

 var sum=0;
for(var i=1;i<1000;i++){
    if(i%5==0&&i%7==0){
       sum+=i;
     
    }
}
document.write(sum);

4、倒序输出用户输入的数字(用户输入1234 输出4321)

 let a,b,c,d,sum;
 let inputnum=prompt("请输入数字");
 if(inputnum){
     // 千位1
       a=parseInt(inputnum/1000);   
        //  百位
        b=parseInt((inputnum%1000)/100);   
         //  十位
          c=parseInt((inputnum%100)/10);   
          //  个位
        d=parseInt(inputnum%10);

        sum=d*1000+c*100+b*10+a;
       document.write(sum);
 }
 else{
    document.write("错误")
 }

5、输出1000以内水仙花数

var a,b,c;

for(var i=100;i<1000;i++)
{
    // 百位
     a=i/100;
    
     a = parseInt(a);
    // alert("a:"+a);
    //十位
    b=(i%100)/10;
   
    b=parseInt(b);
  //  alert(b);
    // 个位
    c=(i%100)%10;

    c=parseInt(c);
   // alert("c:"+c);
    if(i==(a*a*a+b*b*b+c*c*c)){
             alert(i);
    }
}

6、找出10个数中的最大数

for(var i = arr.length-1;i>1;i--){
    for(var j = 0;j<i;j++){
            if(arr[j] > arr[j+1]){
                var t = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = t;
            }
    }
}

for(var i = 0;i<arr.length-1;i++){
    var k = i;
    for(var j=i+1;j<arr.length;j++){
        if(arr[k] >= arr[j]){
            k = j;
        }
    }
    var t = arr[i];
         arr[i] = arr[k];
         arr[k] = t;
}

console.log(arr);
console.log(arr[arr.length-1]);
console.log(arr[0]);

    // 找出10个数最大数
        // var arry=new Array(12,33,444,44,11,333,55,66,77,88);
        // var max=arry[0];
        // for(var i=0;i<arry.length;i++){// max=arry[0];
        //     if(arry[i]>max){
        //         max=arry[i];
        //     }
        // }
        // console.log(max);

7、判断是不是闰年

if (!isNaN(inputYear)) {
    if (inputYear >= 2000 && inputYear <= 3000) {
        if (inputYear % 4 == 0 && inputYear % 100 != 0) {
            console.log(`您输入的${inputYear},是闰年!`);
        } else if (inputYear % 400 == 0) {
            console.log(`您输入的${inputYear},是闰年!`);
        } else {
            console.log(`您输入的${inputYear},是平年!`);
        }
    } else {
        console.log(`您输入的${inputYear},不是在2000-3000的年份!`);
    }
} else {
    console.log(`您输入的${inputYear},不是在2000-3000的年份!`);
}

8、如何判断是多少年的多少天。

用户输入年月日,请输出是当年的第几天
console.log(`请输入年份:`);
let inputYear = rs.question();
console.log(`请输入月份:`);
let inputMonth = rs.question();
console.log(`请输入日:`);
let inputDay = rs.question() - 0;
//月份减1(累加当前月之前月份的天数)
let temp = inputMonth - 1;
//总天数
let sum = inputDay;
// 1\3\5\7\8\10\12  31
// 4\6\9\11         30
switch (temp) { //匹配月份(根据不同的月份+31或+30)
    case 11:
        sum += 31;
    case 10:
        sum += 30;
    case 9:
        sum += 31;
    case 8:
        sum += 30;
    case 7:
        sum += 31;
    case 6:
        sum += 31;
    case 5:
        sum += 30;
    case 4:
        sum += 31;
    case 3:
        sum += 30;
    case 2:
        if (inputYear % 400 == 0 || (inputYear % 4 == 0 && inputYear % 100 != 0)) {
            sum += 29;
        } else {
            sum += 28;
        }
    case 1:
        sum += 31;
}
console.log(`您输入的${inputYear}${inputMonth}${inputDay},是${inputYear}年的第${sum}天!`);
/**
 * 选择排序法(升序)
 * 第1次比较:
 *    拿到数组中下标为0的值,依次后面下标的值进行比较。
 *    下标为0的值小位置不动,反之与其互换位置。
 *    一直比较到最后一个值,第1次比较结束。
 * 第2次比较:
 *    拿到数组中下标为1的值,依次后面下标的值进行比较。
 *    下标为1的值小位置不动,反之与其互换位置。
 *    一直比较到最后一个值,第2次比较结束。
 * 第n次比较:
 *    拿到数组中下标为n的值,依次后面下标的值进行比较。
 *    下标为n的值小位置不动,反之与其互换位置。
 *    一直比较到最后一个值,第n次比较结束。
 * 直到所有数据比较完成结束。
 */

 let arr = [1, 3, 5, 2, 0, 7];
 for (let i = 0; i < arr.length; i++) { //拿一个值跟其他所有值进行对比
     for (let j = i + 1; j < arr.length; j++) { //遍历每个值
         if (arr[i] > arr[j]) {
            [arr[i], arr[j]] = [arr[j], arr[i]];
         }
     }
 }
// console.log(arr);
/**
 * 冒泡排序法(升序)
 * 相邻的2个数进行比较,前面的数比后面的数大,则互换位置。
 * 反之位置不变。
 */
let arr = [1, 3, 5, 2, 0, 7];
for (let i = 1; i < arr.length; i++) { //比较次数(轮次)
    //由于每一次外层循环会把最大的数放置在数组最后一位
    //因此每一次内层循环都可以少比较,相应轮次的内容。
    for (let j = 0; j < arr.length - i; j++) {
        if (arr[j] > arr[j + 1]) {
            [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
        }
    }
}
console.log(arr);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值