Js循环小案例

1.求1-100之间所有整数的累加和

用for循环写: 
var sum = 0;
        for (var i = 1; i <= 100; i++) {
            sum = sum + i;
        }
        console.log(sum);

用do while写:
 var sum=0;
        var i=1;
        do{
            sum+=i;
            i++;
        }while(i<=100)    console.log(sum);
  1. 求1-100所有数的平均数
        var sum=0;
        var avg=0;
        for(i=1;i<=100;i++){
            sum+=i;
            avg=sum/i;
         }
       console.log(avg);

3.求1-100所有偶数的和

 var sum = 0;
        for (i =1; i <= 100; i++) {
            if (i % 2 == 0 ) {
                sum += i;
            }
        } console.log(sum);

4.计算某日是这一年的第几天

var y = Number(prompt("请输入年份"));
        var m = Number(prompt("请输入月份"));
        var d = Number(prompt("请输入日期"));
        var days = 0;
        switch (m) {
            case 12:
                days += 30;
            case 11:
                days += 31;
            case 10:
                days += 30;
            case 9:
                days += 31;
            case 8:
                days += 31;
            case 7:
                days += 30;
            case 6:
                days += 31;
            case 5:
                days += 30;
            case 4:
                days += 31;
            case 3:
                if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) {
                    days += 29;
                } else {
                    days += 28;
                }
            case 2:
                days += 31;
            case 1:
                days += 0;
                break;
            default:
                alert("请输入正确的日期");

        }  alert(days);

5.输入任意三个数,输出最大值?

    var num1 = parseInt(prompt("输入一个数"));
        var num2 = parseInt(prompt("再输入一个数"));
        var num3 = parseInt(prompt("输入第三个数"));
        if (!isNaN(num1) && !isNaN(num2) && !isNaN(num3)) {
            //保证三个都是数字
            var minNum = -9999999999999999999999999999;
            if (minNum < num1) {
                minNum = num1;
            }
            if (minNum < num2) {
                minNum = num2;
            }
            if (minNum < num3){ 
            minNum = num3;
        }
    }
        alert(minNum);

6.九九乘法表

 var str = '';
        for (var i = 1; i <= 9; i++) {
            for (var j = 1; j <= i; j++) {
                str += j + "×" + i + "=" + i * j + "\t";
            }
            str = str + "\n";
        } console.log(str);

7.求出1-1/2+1/3-1/4...1/100的和

 //方法1:
            var sum = 0;
            for (i = 1; i <= 100; i++) {
                //在分母为偶数时为减
                if (i % 2 == 0) {
                    sum -=( 1 / i);
                }
                //分母为奇数时为加
                else {
                    sxum += (1 / i);
                }
            }
            document.write(sum);

 //方法2
        var sum = 0;
        var index = 1;
        for (i = 1; i <= 100; i++) {
            sum += index / i;
            index = -index;
        } document.write(sum);

8.打印出1000-2000年中所有的闰年,并以每行四个数的形式输出

 var i = 0;
        for (var a = 1000; a <= 2000; a++) {
            if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {
                document.write(a + '&nbsp' + '');
                i++;
                if (i % 4 == 0) {
                    document.write("<br>");
                }
            }
        }

9.计算10的阶乘

    var fac = 1;
        for (var i = 10; i > 0; i--) {
            fac *= i;
        }
        console.log(fac);

10.求1+2!+3!+..+20!的值

var sum = 0;
        for (var num = 1; num <= 10; num++) {
            var fac = 1;
            for (var i = 1; i <= 10; i++) {
                fac *= i;
            } sum += fac;
        } alert(sum);

10.打印100~999之间的水仙花数
水仙花数是一种特殊的三位数,它的特点就是,每个数位的立方和,等于它本身。
比如153就是水仙花数。因为:
1 * 1 * 1 + 5 * 5 * 5+3 * 3 * 3 =153
100~999 之内,只有4个水仙花数,请找出来

for (var i = 100; i < 1000; i++) {
             //取出个位数字
             var a = i % 10;
             //取出十位数字
             var b = parseInt(i % 100 / 10);
             //取出百位数字
             var c = parseInt(i / 100);
             //用水仙花数条件进行判断
             if (a * a * a + b * b * b + c * c * c === i) {
                 console.log(i+'是水仙花数');
             }
         }

11.定义一个函数,功能是打印m行n列的表格

   function createTable(m, n) {//对应接收实参
            //输出一个表格
            document.write("<table border=''>");
            for (var i = 1; i <= m; i++) {
                document.write("<tr>");
                for (var j = 1; j <= n; j++) {
                    document.write("<td>11111111</td>");
                }
                document.write("</tr>");
            }
            document.write("<table>");
        }
        createTable(3, 6);
        createTable(1, 1);
  1. 判断一个数是否是:素数(质数):只能被1和其本身整除的数
    方案一: 只有两个因子(计算因子的个数是否是2如果是2,是素数)
    方案二: 因子之和 == 该数+1
    方案三: 通过一个开关变量控制该数是否是素数﹐假设flag == true是素数
1.
        var num = parseInt(prompt("请输入一个数")) ;
        var count = 0;
        for (var i = 1; i <= num; i++) {
            if (num % i === 0) {
                count++;
            }
        }
        if (count == 2) {
           alert(num + "是素数");
        }
        else {
            alert(num + "不是素数");
        }


        2.
        var num = parseInt(prompt("请输入一个数")) ;
        var sum=0;
        for(var i=1;i<=num;i++){
            if(num%i===0){
                sum+=i;
            }
        }
        if(sum===num+1){
            alert(num+"是素数");
        }
        else{
            alert(num+"不是素数");
        }

        3.
        var num = parseInt(prompt("请输入一个数"));
        var flag = flase;
        for (var i = 1; i <= num; i++) {
            if (num % i === 0) {
                //程序执行了这里的代码,说明num 除了1和本身外还有其他因子
                flag = true;
            }
        } if (flag) {//不是素数
            alert(num + "不是素数");
        } else {//是素数
            alert(num + "是素数");
        }

13.循环输出100-200的素数

   var sum = 0;
        for (var num = 100; num <= 200; num++) {
            for (var i = 1; i <= num; i++) {
                if (num % i === 0) {
                    sum += i;
                }
            }
            if (sum === num + 1) {
                console.log(num + "是素数");
            }
        }

14.编写一个函数,计算三个数字的大小,按从小到大顺序输出

 function fn(a, b, c) {
            var temp;
            if (a > b) {
                temp = a;
                a = b;
                b = temp;
            }
            if (b > c) {
                temp = b;
                b = c;
                c = temp;
            }
            if (a > b) {
                temp = a;
                a = b;
                b = temp;
            }
            document.write(a, b, c);
        }
        fn(5, 3, 4);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容