This is the table showing the values which impact the conditions in your code:
Since there are four lines with temperature <0, >100 condition, you can pick different values near both the temperature threshold levels for different tests.
With your reference to your test case what you have provided is correct but think how the application/function will take the input. It can take only three inputs so when your conditions are split based on the input then we need 5 test cases to execute it.
Test Data from your reference:
t = -1, 1, 101
s = 99, 101
l = 49, 51
so your test case will be like
If you are after statement coverage, that is, ensuring that all lines of the code sample have been tested, then you'll want to use these test cases. The idea is to test the logical conditions with different boundary values.
Temperature alerts "danger" when using values -1 (or lower)
Temperature alerts "danger" when using values 101 (or ...