0

私はJavaScriptが初めてで、基本に苦労しています。このコードを機能させることができません。

(以下は、私が行っている演習から取得したものです) 数値 (範囲 0..100) をランダム化し、40 からその数値までのすべての奇数を出力する関数を作成しようとしています。数値が 40 より小さい場合は、ランダム化された数値まですべての数値を出力します (つまり、結果が 37 の場合、40、39、38、37 を出力する必要があります)。

ご意見をお待ちしております。

var sol3 = function() {
    var n = Math.floor(Math.random()*100);

    if (n > 40) {
        for( var i = 41; i <= 100; i++2);
        console.log(i);
    }
    else if (n < 40) {
        for (var i = 39; i <= 40; i--2);
        console.log(i);
    }

    return i;
};

so13();
4

4 に答える 4

3

コードの問題 -

  1. i++2間違っています
  2. ;forが間違っています
  3. i--2間違っています
  4. あなたが呼んsol13()でいるのは数字の 1 で、文字の l ではありません
  5. return iしかし、それは動作します!

ここでデモ

var sol3 = function () {
    var n = Math.floor(Math.random() * 100);

    console.log("n = " + n);

    if (n > 40) {

        for (var i = 41; i <= n; i += 2)
            console.log(i);

    } else if (n < 40) {

        for (var i = 40; i >= n; i--)
            console.log(i);
    }

    return i;

};

sol3();
于 2013-09-04T15:49:27.127 に答える
0
var sol3 = function(){

    var n = Math.floor(Math.random()*100);

    if (n > 40){
        while( n < 100){
            if( n%2==1){
                console.log(n);
            }
            n++;
        }
    }
    else if (n < 40) {
        for (var i = 39; i >= n; i--){
            console.log(i);
            }
    }
    return i;
};
sol();
于 2013-09-04T15:58:15.307 に答える
0

この行を変更してみてください

for (var i = 39; i <= 40; i--2);

に:

for (var i = 39; i >=0; i-=2)

また、最初の for ループを からi++2に変更しますi+=2

于 2013-09-04T15:50:20.303 に答える