ページ 11

5教科の点数の合計と平均を表示するプログラム

Posted: 2009年10月21日(水) 19:58
by kerotan0820
今、学校で中間テストが終わったので5教科の合計と平均を出すプログラムを作ろうと思い、自分にある知識で組んだところ以下のようになりました
#include<stdio.h>
int main(void){
    int a,b,c,d,e,f,g;
  int k=5;
  double h;
	printf("国語,数学,理科,社会,英語の点数を改行して入力し,Enterを押してください\n");
	scanf("%d" ,&a);
	scanf("%d" ,&b);
	scanf("%d" ,&c);
	scanf("%d" ,&d);
	scanf("%d" ,&e);
	f=a+b+c+d+e;
	h=f/k;
	printf("合計:%d\n" ,f);
	printf("平均:%d\n" ,h);
	return 0;
}
結果これを実行すると、合計値は普通に表示されるものの、平均が"0"と表示されてしまいます;
どうすれば正しい数値が表示されるのでしょうか
教えてください。

Re:5教科の点数の合計と平均を表示するプログラム

Posted: 2009年10月21日(水) 20:17
by
hの型はdouble型ですから、int型の出力方法とは異なります。

%d => %f に修正してみてください。

Re:5教科の点数の合計と平均を表示するプログラム

Posted: 2009年10月21日(水) 20:18
by non
double h;
なので、
printf("平均:%d\n" ,h);

%fにします。
また、
h=f/k;
は、
h=(double)f/k;
のようにキャストした方がいいですね。
このままでは、小数点以下の計算ができません。

Re:5教科の点数の合計と平均を表示するプログラム

Posted: 2009年10月21日(水) 20:53
by kerotan0820
■わ様 non様
回答ありがとうございました
無事成功しました^^