pascal - 获取一天内记录的最低度数
问题描述
我需要制作一个程序,在一天中的什么时间记录最少的学位,我制作了这个程序,我得到了记录最小学位的正确时间,但我没有得到正确的度数
Program P1;
Type
Hour = 0..23;
Degrees = -40..40;
Temperature = array [Hour] of Degrees;
var
t : Temperature;
i, min_t, max_t, hour_t_min, hour_t_max : integer;
procedure test;
begin
for i := 0 to 23 do
begin
writeln('Enter the temperature at hour ', i);
readln(t[i]);
min_t := t[0];
if min_t > t[i] then
begin
min_t := t[i];
ora_t_min := i;
end;
if max_t < t[i] then
begin
max_t := t[i];
ora_t_max := i;
end;
end;
writeln('temp min ', min_t, ' at hour ', hour_t_min);
writeln('temp max ', max_t, ' at hour ', hour_t_max);
end; {procedure}
begin { main }
test;
end.
解决方案
Min_t (和 max_t) 应该在循环之外和之前初始化。您在每个循环中分配 min_t:=t[0] ,这是错误的,并且 max_t 没有被初始化。另外,我认为这是一个错字,ora_t_min 和 ora_t_max 应该改为 hour_t_min 和 hour_t_max:
像这样的东西:
min_t := 40;
max_t := -40;
for i := 0 to 23 do
begin
writeln('Enter the temperature at hour ', i);
readln(t[i]);
if min_t > t[i] then begin min_t := t[i]; hour_t_min := i; end;
if max_t < t[i] then begin max_t := t[i]; hour_t_max := i; end;
end;
writeln('temp min ', min_t, ' at hour ', hour_t_min);
writeln('temp max ', max_t, ' at hour ', hour_t_max);
end;
推荐阅读
- python - 计算Python中数组中元素的数量,无论它是什么维度
- python - python plotly date axis as string not dates
- c# - 将 DataTable 与 LinQ 连接并作为 DataTable 返回
- r - shiny app with data from database works locally but not in shinyapps.io
- sql - ndf file missing error shown while attaching the "mdf" file
- html - 字符串格式内的 HTML 字符串格式
- c++ - EEPROM 读/写字节的自定义类
- scala - Scala / sbt java.lang.ClassNotFoundException: com.ullink.slack.simpleslackapi.listeners.SlackMessagePostedListener
- r - 为什么 r 不像 spss 那样在 0 和 1 中编码因子来计算 $r$ 系数?
- python-3.x - 将整数分配给数据框字段`OverflowError: Python int too large to convert to C unsigned long`