一道C语言题 请用批处理做 例如:
输入(秒):3662
显示: 0天 1 小时 1分钟 2秒
输入(秒):3662
显示: 0天 1 小时 1分钟 2秒
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
:begin
cls
set /a D=0,H=0,M=0
set num=
set /p num= 请输入秒数(退出请直接按回车):
if not defined num exit
call :transform D %num% 86400
call :transform H %num% 3600
call :transform M %num% 60
echo %D% 天 %H% 小时 %M% 分 %num% 秒
pause
goto begin
:transform
set /a %1=%2/%3
if %1 gtr 0 set /a num=%2-%3*%1
goto :eof
| 评分人 | 分数 | 时间 |
|---|---|---|
| PPdos | +2 | 2007-01-17 10:27 |
@echo off
:begin
cls
echo.
set input=
set /p input= 请输入秒数(退出请直接按回车):
if not defined input exit
set /a SS=%input%%%60
set /a MM=%input%/60%%60
set /a HH=%input%/3600%%60
set /a DD=%input%/86400%%60
echo.
echo %DD% 天 %HH% 小时 %MM% 分 %SS% 秒
echo.
pause
goto begin| 评分人 | 分数 | 时间 |
|---|---|---|
| PPdos | +2 | 2007-01-17 10:22 |
,修正:@echo off
:begin
cls
echo.
set input=
set /p input= 请输入秒数(退出请直接按回车):
if not defined input exit
set /a SS=%input%%%60
set /a MM=%input%/60%%60
set /a HH=%input%/3600%%60
if %HH% GEQ 24 set /a HH=HH%%24
set /a DD=%input%/86400
echo.
echo %DD% 天 %HH% 小时 %MM% 分 %SS% 秒
echo.
pause
goto begin@echo off
:begin
cls
echo.
set input=
set /p input= 请输入秒数(退出请直接按回车):
if not defined input exit
for /f "tokens=1* delims=." %%i in ("%input%") do set input=%%i&&set .n=%%j
if "%.n%" == "" set .n=0
if "%.n:~1%" == "" set .n=%.n%0
if "%.n:~2%" == "" set .n=%.n%0
if "%.n:~0,1%" == "0" set .n=%.n:~1%
if "%.n:~0,1%" == "0" set .n=%.n:~1%
set /a SS=%input%%%60
set /a MM=%input%/60%%60
set /a HH=%input%/3600%%60
if %HH% GEQ 24 set /a HH=HH%%24
set /a DD=%input%/86400
echo.
echo %DD% 天 %HH% 小时 %MM% 分 %SS% 秒 %.n% 毫秒
echo.
pause
goto beginOriginally posted by hxuan999 at 2007-1-16 13:37:
处理毫秒的时候有问题呀.比如输入5485.3,那.3应该是300毫秒吧,而不是3毫秒呀.
hxuan: 2007-01-17 12:52
- @echo off&setlocal enabledelayedexpansion
- :begin
- cls
- echo;
- set input=
- set /p input= 请输入秒数(退出请直接按回车 ):
- if not defined input exit
- for /f "tokens=1* delims=." %%a in ("%input%") do set input=%%a & set D5=%%b00000
- for /l %%i in (4,-1,2) do set /a "D%%i=!input!%%60" && set /a "input=!input!/60"
- set "D5=!D5:~0,3!.!D5:~3,2!"
- set /a "D1=!input!%%24"
- echo;&echo; %D1% 天 %D2% 小时 %D3% 分 %D4% 秒 %D5% 毫秒&echo;
- pause
- goto begin
@echo off
:start
setlocal
cls&echo.
set/p input=请输入秒数:
for /f "tokens=1,2 delims=." %%a in ("%input%") do set input=%%a&set input1=%%b
for /l %%a in (1,1,2) do set/a T%%a=input%%60,input/=60
set/a T3=input%%24,T4=input/24
set input1=%input1%0000
for /f "tokens=* delims=0" %%a in ("%input1:~0,4%") do set T0=%%a
echo/
if defined T0 (echo %T4% 天 %T3% 小时 %T2% 分 %T1% 秒 %T0% 毫秒
) else (echo %T4% 天 %T3% 小时 %T2% 分 %T1% 秒)
echo\
pause
endlocal
goto start