C言語で計算が合いません(初心者)
C言語で計算が合いません(初心者)
簡単な計算のプログミングをしているのですが
計算が合わなくて困っています。
整数型変数aと実数型変数bを定義
整数型変数cとdを定義して、c=0.5*a*b、d=a/2*b
実数型変数eとfを定義して、e=0.5*a*b、f=a/2*b
という内容のプログラムを作ったのですが
a=7,b=2.4を代入してみた結果
----------------------------
Input a>>7
Input b>>2.4
8
7
8.400000
7.200000
----------------------------
となりました
どこが間違っているのでしょう?
答えは8.4でcが8なのは有効数字のためだと思いますが
dとeで答えが全く違う理由が分かりません。
下に私が書いたものを貼っています。
----------------------------
#include<stdio.h>
int main(void){
int a,c,d;
double b,e,f,ans;
printf("Input a>>");
scanf("%d",&a);
printf("Input b>>");
scanf("%lf",&b);
c=0.5*a*b;
printf("%d\n",c);
d=a/2*b;
printf("%d\n",d);
e=0.5*a*b;
printf("%lf\n",e);
f=a/2*b;
printf("%lf\n",f);
return 0;
}
----------------------------
よろしくお願いします。
お礼
ほへ!? あんぐりです・・・ 実数にも型が・・・初めて知りました。 ありがとうございました。