Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
用户输入一个整数,该整数对应于定义的枚举类型的值。我需要将该值分配给变量t。这是我想到的:
type test = (red,green,blue,fish); var t:test; n,i:integer; begin readln(n); t:=red; for i:=1 to n do t:=succ(t); end.
我是否使任务过于复杂?是否可以编写一个更简单的算法?
您应该能够将整数转换为枚举类型,例如:
t := test(n);
如果您想另辟蹊径,请使用ord:
ord
n := ord(t);
这应该让您以数字方式移动到列表中的任何项目。您可以通过以下方式检查界限:
Ord(Low(test)))
和
Ord(High(test))
..test你的类型在哪里。
test