Muito obrigado, deu certo!
O código ficou assim:
<!DOCTYPE html PUBLIC "-//W3C// DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Teste</title>
</head>
<?php
include "dbconexao.php";
include "estilo1.css";
$sql="SELECT MAX(livros.preço) AS maior_preco, livros.codigo, livros.nome, livros.id_categoria, categorias.cat_nome";
$sql=$sql . " FROM livros";
$sql=$sql . " INNER JOIN categorias";
$sql=$sql . " ON (livros.id_categoria = categorias.id)";
$sql=$sql . " GROUP BY livros.id_categoria";
$sql=$sql . " ORDER BY maior_preco";
$rs=mysql_query($sql,$conexao);
?>
<body>
<p>Sentença SQL: <strong><?php print $sql; ?></strong></p>
<table>
<thead>
<td>Código</td>
<td>Nome</td>
<td>Categoria</td>
<td align="right">Preço</td>
</thead>
<?php
while ($reg=mysql_fetch_array($rs)) {
$codigo=$reg["codigo"];
$nome=$reg["nome"];
$cat_nome=$reg["cat_nome"];
$preço=$reg["maior_preco"];
?>
<tr>
<td><?php print $codigo; ?></td>
<td><?php print $nome; ?></td>
<td><?php print $cat_nome; ?></td>
<td align="right">R$ <?php print number_format($preço,2,',','.'); ?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>