本帖最后由 flashercs 于 2022-5-9 12:11 编辑
- @echo off
- setlocal EnableDelayedExpansion
- cd /d "%~dp0"
- set examfile="考试得分.txt"
- set trainfile="训练模拟得分.txt"
- set recordfile="成绩趋势报告.txt"
- set n=0
- for /f "usebackq delims=" %%A in (%examfile%) do (
- for %%B in (%%A) do (
- set /a n+=1
- set examscore_!n!=%%B
- )
- )
- set /a examscoreubound=n
- set n=0
- for /f "usebackq delims=" %%A in (%trainfile%) do (
- for %%B in (%%A) do (
- set /a n+=1
- set trainscore_!n!=%%B
- )
- )
- set /a trainscoreubound=n
- set prev=0
- for /l %%A in (1,1,%examscoreubound%) do (
- @REM echo examscore_%%A=!examscore_%%A!
- set /a subtract=examscore_%%A-prev
- if !subtract! geq 0 (
- set examtrend_%%A=1
- ) else (
- set examtrend_%%A=-1
- )
- set prev=!examscore_%%A!
- )
- set traintrend_1=1
- for /l %%A in (2,1,%trainscoreubound%) do (
- set /a n=%%A-1
- set /a subtract=trainscore_%%A-examscore_!n!
- if !subtract! geq 0 (
- set traintrend_%%A=1
- ) else (
- set traintrend_%%A=-1
- )
- )
- (
- for /l %%A in (1,1,%trainscoreubound%) do (
- if %%A neq %trainscoreubound% (
- <nul set /p "s=!examtrend_%%A!/!traintrend_%%A!,"
- ) else (
- <nul set /p "s=!examtrend_%%A!/!traintrend_%%A!="
- )
- >nul set /a relationresult_%%A=examtrend_%%A/traintrend_%%A
- )
- set ctr=0
- for /l %%A in (1,1,%trainscoreubound%) do (
- <nul set /p "s=!relationresult_%%A!"
- if %%A neq %trainscoreubound% <nul set /p "s=,"
- if !relationresult_%%A! geq 0 set /a ctr+=1
- )
- set /a ratio=ctr*100/trainscoreubound
- echo.
- echo 训练提高成绩概率:!ctr!/%trainscoreubound%=!ratio!%%
- )>%recordfile%
-
- endlocal
- pause
- exit /b
复制代码
|