One problem is that you used the source to be ‘any” and not the subnet. Also on the second part, you restricted it to echo-reply, which is a response to a PING, which if you wanted to restrict it to only allow ping should have just been echo. However the question says just ICMP, so you must not specify any message type after the ‘any’ to allow all ICMP messages.
From the question
1. Allow hosts on the 192.168.30.0/24 network web access to any destination
<b>permit tcp 192.168.30.0 0.0.0.255 any eq www</b>
2. Allow hosts on the 192.168.30.0/24 network ICMP access to any destination.
<b>permit icmp 192.168.30.0 0.0.0.255 any</b>
3. Explicitly deny any other access origination from the network.
<b>deny ip any any</b>
Then, as you did, apply this inbound on the interface that connects to the 192.168.30.0/24 subnet, which I presume is Fa0/0. From the question we presume that this subnet is not permitted to access any other local subnet, so that is the correct way to apply it.
Also, if it says use access list 101, this is not necessarily saying to use the extended as you have, it could imply that you just prefix each line with access-list 101 as follows
access-list 101 permit tcp 192.168.30.0 0.0.0.255 any eq www
access-list 101 permit icmp 192.168.30.0 0.0.0.255 any
access-list 101 deny ip any any
Which will produce an access list with the same effect. The method you chose is slightly better as it does allow you to edit the access list, the second type only allows you to delete it and re-create it if you need to make changes. But I thought it is important to point out the alternative.
Hope this helps, if you have any more questions, please post them.