DHT11 and Nokia 5110 - Converting From int to char*

  float reading;
  reading=temp*0.48828125;
  Serial.println(reading);
  char buf [10];
 sprintf(buf, "%i", reading);

The format specified for a float is NOT i.

sprintf() doesn't support floats. dtostrf() does.