Convertir en int en double

J'ai couru ce programme simple, mais quand je convertir int à double, le résultat est zéro. Le sqrt des zéros puis affiche des valeurs négatives. C'est un exemple à partir d'un tutoriel en ligne donc je ne suis pas sûr de savoir pourquoi cela se passe. J'ai essayé sous Windows et Unix.

/* Hello World program */

#include<stdio.h>
#include<math.h>

main()

{  int i;

   printf("\t Number \t\t Square Root of Number\n\n");

   for (i=0; i<=360; ++i)
        printf("\t %d \t\t\t %d \n",i, sqrt((double) i));


}
Vous pouvez poster votre code.
Sans le code en question, ce ne peut être répondu de manière significative.
sqrt ne retourne jamais les valeurs négatives. Vos problèmes sont très profondes. Le fait que vous ne m'en rends pas compte que nous aurions besoin de voir votre code de réponse c'est votre problème fondamental. J'espère que vous ne pensez pas que l'ordinateur peut faire la même chose!
David, en fait, vous devez réaliser qu'il ya une autre possibilité c'est que j'ai oublié d'inclure le code à l'origine. Veuillez laisser votre attitude condescendante de ce conseil.
Je suis désolé de vous ont offensé. J'ai été trop sévère. Mais il y a un grain de vérité là-dedans aussi. Parfois, il paye pour aller un peu plus lentement. Vérifiez et revérifiez lors du codage, et lors de la rédaction des questions, et, dans mon cas, lors de l'écriture des commentaires.

OriginalL'auteur user994165 | 2012-01-28