2017-04-02 16 views
0

したがって、1〜10の各数値に対して(x mod 6)+ 2を計算するforループを作成しました。ループが増加します。しかし、私は10の結果のそれぞれの平均を計算したいと思いますが、私は実際にどのように私はそうするためにループをフォーマットするのか分からない。私はむしろecho "1 + 2 + 3 + etc"のようなことをやっていないだろう。私はこれが比較的簡単なものだと思っていますが、私はそれを探して別のループを試みましたが、役に立たないものです。すべてのヘルプは非常に高く評価されています!ループの結果の平均値を計算します。

ここでループです:

:ForLoop 
@echo off &setlocal enabledelayedexpansion 

echo This loop calculates the results for (x mod 6) + 2 with x being each number from1-10 (inclusive). 
echo. 
for /L %%x in (1, 1, 10) do (
    SET /a VAR=%%x %% 6+2 
    set /a CAL=!VAR! %% 8 
    echo %%x MOD 6 + 2 = !CAL! 
) 

答えて

0
@ECHO OFF 
SETLOCAL ENABLEDELAYEDEXPANSION 
:ForLoop 

echo This loop calculates the results for (x mod 6) + 2 with x being each number from1-10 (inclusive). 
echo. 
SET /a iterations=10 
SET /a sum=0 
for /L %%x in (1, 1, %iterations%) do (
    SET /a VAR=%%x %% 6+2 
    SET /a sum+=var 
    SET /a avg=sum/%%x 
    echo %%x MOD 6 + 2 = !var! average so far=!avg! (from !sum!/%%x^) 
) 

GOTO :EOF 

%% 8ジャズを行う必要はありません - varのみ(0..5)+2することができるので、これは、の範囲を提供します2..7 。

set /aは、変数の実行時の値を使用するため、!var!は必要ありません - %var%var初期値を使用します。

バッチが整数の数学であるので、平均は切り捨てられます。

関連する問題