This problem is from Discrete Mathematics and its Applications

Here is my book's definition on converse, contrapositive, and inverse

And the common ways to express an implication

For this problem, is it better to translate the conditional statements that are not in the "if p, q form" to that form? That way everything will be consistent.
Going off the translation approach
27a. This conditional statement is already in the "if p, q form", so I don't have to do any translation
- Converse - q -> p. If I ski tomorrow, it will snow today.
- Contrapositive - ~q -> ~p. If I don't ski tomorrow, it will not snow today
- Inverse - ~p -> ~q. If it doesn't snow today, I will not ski tomorrow.
27b. This conditional statement is in the "q whenever p" form so I translated that to "If there is going to be a quiz, I will come to class.
- Converse - q -> p. If I come to class, there is going to be a quiz.
- Contrapositive - ~q -> ~p. If I don't come to class there is not going to be a quiz.
- Inverse - ~p -> ~q. If there is not going to be a quiz, I will not come to class.
27c. This conditional statement is in the p only if form, so I translated it to "if a positive integer is a prime, it has no divisors other than 1 and itself.
- Converse - q -> p. If a positive integer has no divisors other than 1 and itself, it is prime.
- Contrapositive - ~q -> ~p. If a positive integer has divisors other than 1 and itself, it is not prime.
- Inverse - ~p -> ~q. If a positive integer is not prime, it has divisors other than 1 and itself.
Does look right/ sound logically coherent. Is it a good strategy to convert form to if p, q or is that not necessary?
$p$ = "It snows today"
$q$ = "I will ski tomorrow"
So 27a converse should look like "If I will skill tomorrow, then it snows today."
28 and 29 look to be just fine.