• ベストアンサー

scanf文で入力した値の計算がうまくいきません

2つの少数を含む数字を入力し計算して出力するプログラムを作っているのですがうまくいきません。下がそのプログラムです。 #include<stdio.h> int main(void) { int ver1,ver2; printf("1つ目の実数を入力して下さい\n"); scanf("%f",&ver1); printf("2つ目の実数を入力して下さい\n"); scanf("%f",&ver2); printf("%f+%f=%f\n",ver1,ver2,ver1+ver2); printf("%f-%f=%f\n",ver1,ver2,ver1-ver2); printf("%f×%f=%f\n",ver1,ver2,ver1*ver2); return 0; }

質問者が選んだベストアンサー

  • ベストアンサー
  • hashioogi
  • ベストアンサー率25% (102/404)
回答No.1

%fは浮動小数点数を入出力するフォーマットです。 intは整数を格納する型です。 浮動小数点数と整数とではメモリ上での表現方法が異なります。

slawter
質問者

お礼

intをfloatに直したらうまくいきました! ありがとうございました。

その他の回答 (1)

  • YUI_AI
  • ベストアンサー率45% (303/661)
回答No.2

int ver1,ver2; int型で宜しいですか? 実数なのでfloat or double ではないでしょうか。

関連するQ&A