I know that you don't want a solution using the answers package, but for anyone interested I have put one below, which is a stripped-down version of what I have used for this task.
You can show/hide the odd (or even, or both) numbered solutions using these switches, set to 1 (show), or 0 (hide):
\setcounter{showodd}{1}
\setcounter{showeven}{1}
Code:
\documentclass{report}
\usepackage{ifthen} % conditionals
\usepackage{answers} % solutions to problems
\usepackage{xstring} % used to determine if problems are odd or even
% question environment
\newcounter{question}
\setcounter{question}{0}
\renewcommand{\thequestion}{\thesection.\arabic{question}}
\newenvironment{question}{\refstepcounter{question}\thequestion.}{}
% open the solutions file
\Opensolutionfile{shortsolutions}
\Newassociation{shortsolution}{shortSoln}{shortsolutions}
\setlength{\parindent}{0mm}
\begin{document}
\chapter{Some chapter}
\section{Questions}
\begin{question}
Here's a question.
\begin{shortsolution}
First answer.
\end{shortsolution}
\end{question}
\begin{question}
Another question.
\begin{shortsolution}
Second answer.
\end{shortsolution}
\end{question}
\begin{question}
Here's a question.
\begin{shortsolution}
Third answer.
\end{shortsolution}
\end{question}
\begin{question}
Another question.
\begin{shortsolution}
Fourth answer.
\end{shortsolution}
\end{question}
% close the solutions files
\Closesolutionfile{shortsolutions}
% set up switches to show odd or even problems
% 1: show
% 0: don't show (actually, anything other than 1 makes it not show)
\newcounter{showodd}
\newcounter{showeven}
\setcounter{showodd}{1}
\setcounter{showeven}{1}
% solution to problem (show only odd, even, all)
% Note: this renewenvironment needs to go here
% so that the answers package can still
% display correctly to the page if needed
\newcounter{oddproblemnumber}
\renewenvironment{shortSoln}[1]{%
% before the environment starts
\fullexpandarg % need this line so that '.' are counted
% numbers such as 1.3.1, 1.2.4, 7.5.6
\StrBehind{#1}{.}[\newbit]%
\StrBehind{\newbit}{.}[\problemnumber]%
% determine if the problem number is odd or even
% and depending on our choices above, display or not
\ifthenelse{\isodd{\problemnumber}}%
{%
% set a counter that says the problem number is odd (used later)
\setcounter{oddproblemnumber}{1}%
% display or not
\ifthenelse{\theshowodd=1}
{%
% if we want to show the odd problems
{\par\bfseries #1.}%
}%
{%
% otherwise don't show them!
\expandafter\comment%
}%
}%
{%
% even numbered problem, set the counter (used later)
\setcounter{oddproblemnumber}{0}%
\ifthenelse{\theshoweven=1}
{%
% if we want to show the even problems
{\par\itshape #1.}%
}%
{%
% otherwise don't show them!
\expandafter\comment%
}%
}%
}%
{%
% after the environment finishes
\ifthenelse{\theoddproblemnumber=1}%
{%
% odd numbered problems
\ifthenelse{\theshowodd=1}
{%
% if we want to show the odd problems
% then the environment is finished
}%
{%
% otherwise we need to finish the comment
\expandafter\endcomment%
}%
}%
{%
% even numbered problems
\ifthenelse{\theshoweven=1}
{%
% if we want to show the even problems
% then the environment is finished
}%
{%
% otherwise we need to finish the comment
\expandafter\endcomment%
}%
}%
}
\newpage
\section{Answers}
\IfFileExists{shortsolutions.tex}{\input{shortsolutions.tex}}{}
\end{document}
\renewcommand\theanswer{\Roman{answer}}and then\isodd{\theanswers}, or something like that? I think is better use\isodd{\value{answer}}. – leo Aug 08 '12 at 00:44