2012-03-14 13 views
1

私の問題は非常にばかげていると思います...私の関数は10進値ではなくint値を返します...どうすればこの問題を解決できますか?ありがとう!平方根関数(math.h) - C

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

     int main() 
     { 
      //Dichiarazione variabili 
      int nCasuale, i, MAX = 0, min = 100; 
      float radice; 

      //Generazione numeri casuali 
      srand(time(NULL)); 

      for (i = 0; i < 10; ++i) //Ciclo numeri casuali 
      { 
       nCasuale = 1 + rand() % 100; //Casuale tra 1 e 100 
       printf("Numero casuale[%d]: %d\n", i, nCasuale); //Lo stampo 

       radice = sqrt(nCasuale); //Radice del numero 
       printf("Radice quadrata(%d)= %2.f\n\n", nCasuale, radice); //Stampo 

のように...

私がなぜ...助けてくれてありがとう=理解していない)

+0

「int値を返す」とはどういう意味ですか?どのようなアウトプットを得ていますか、何を期待していますか? –

+0

intを使用していてmainがintを返すように設定されているためです。 – Brian

+1

'' sqrt() ''はdoubleを返すので、 '' radice''をdoubleとして定義するか、 '' sqrtf() ''を使います。 – ckruse

答えて

11

あなたは書式指定子"%2.f"で平方根を印刷している、これはprintf()を伝えます小数点以下を切り捨てる。

おそらく"%.2f"を意味し、小数点以下2桁を取得します。

+0

ああ私の神!悪いエラー...ありがとう! –

2

私はthis linkにあなたの疑いを解消するために必要なものがあることを願っています。

関連する問題