**C#: <strike>147</strike> 136 Characters**

It won't beat most other languages, but here's a C# solution for fun:

    var r=new Random().Next(1,100);var g=0;while(g!=r){g=int.Parse(Console.ReadLine());Console.WriteLine(""+g+'\n'+(g<r?'+':g>r?'-':'='));}