geovagriffith admits to having no experience with Scandinavian trains but feels qualified to opine on them anyway. In fact, Swedish long-distance trains (including trains from Sweden to Copenhagen and Oslo, which are also run by SJ, the Swedish national train operator) can be extremely inexpensive if booked in advance. A ticket from Stockholm to just about anywhere can be as little as 195 kr, or a little more than $20. Considering some of the vast distances involved (which don't feel so vast because the trains run smoothly at high speed), that's a pretty amazing bargain.
Sit-down restaurants can be expensive, especially if you drink alcohol, but fortunately there are plenty of other options for keeping yourself fed: Cafes, bakeries, food trucks/carts, etc. Especially if you step away from the main tourist areas, prices are quite reasonable. During a week spent in Stockholm and Copenhagen, the most I spent for a single meal was $17.
On the question of cash: As the others said, credit cards are accepted just about everywhere and are commonly used even for small purchases (and in my experience, merchants don't generally tack on surcharges). Some exceptions include: Bus fares in Reykjavik paid to the driver (though the bus station at Hlemmur sells single-ride tickets you can use later, and they accept credit cards); one slightly odd (but very tasty) cafe I encountered in Copenhagen that accepted only cash and mobile phone payments; and pay toilets (which I mostly remember from Stockholm but I suspect are in other cities too), for which you need cash and exact change.