猿问

for语句改为while的写法出问题了,换成while的写法只输出1001

//输出所有4位数的奇数整数,并且满足:个位数+百位数 = 十位数+千位数,每行输出15个数字;
   
//用下面的for语句来写是OK的:
var a = null;
var i=1001;
var count = 0;//计数器
for (i; i < 10000; i++) {
    a = i.toString();
    if ((+a[0]) + (+a[2]) == (+a[1]) + (+a[3]) && (+a[3]) % 2 != 0) {
        //输出满足条件的i
        document.write(a + "  ");

        //每输出15次就换行一次
        count++;
        if(count==15){
            document.write("<br/>");
            count=0;
        }

    }
}
//接下来换成while的写法
var a = 1001;
var count = 0;//计数器
while (a < 10000) {
    a = a.toString();
    if ((+a[0]) + (+a[2]) == (+a[1]) + (+a[3]) && (+a[3]) % 2 != 0) {
        //输出满足条件的i
        document.write(a + "  ");

        //每输出15次就换行一次
        count++;
        if (count == 15) {
            document.write("<br/>");
            count = 0;
        }
    }
    i++;
}
//这样写的话,结果只输出1001


狂飙的蜗牛_1
浏览 2337回答 2
2回答

迷途的马尔斯

因为你自增变量写错了,你重新下定义了a变量,最后应该是a自增而不是i自增

liyocode

不是i++,应该是a++
随时随地看视频慕课网APP
我要回答