学校の課題で質問です

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
SINA

学校の課題で質問です

#1

投稿記事 by SINA » 14年前

while文を使い値を入力して平均値を出すプログラムを作る課題が出たのですが
小数点を入力するとバグってしまい、またループを外れても平均値が出なかったりと
なかなか上手く行きません。どこら辺が悪いのか教えていただけないでしょうか。
使用しているコンパイラはLCpadです。


ソースコード
/*kadai5.c*/
#include<stdio.h>
int main()
{
int a=1,kaisu=1,sum=0;
while(a!=0)
{
printf("実数値を入力してください");
scanf("%d",&a);
sum=sum+a;
kaisu++;
}

printf("平均値は%fです。",sum/kaisu);
return 0;
}

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: 学校の課題で質問です

#2

投稿記事 by beatle » 14年前

小数点を扱おうとしているのに sum に int型 を使っているのが間違いのうちの一つですね。

box
記事: 2002
登録日時: 15年前

Re: 学校の課題で質問です

#3

投稿記事 by box » 14年前

SINA さんが書きました:

コード:

		printf("実数値を入力してください");
と言っているのに、
SINA さんが書きました:

コード:

	int a=1,kaisu=1,sum=0;
		scanf("%d",&a);
a が int 型だったり "%d" で整数値の入力を求めていたりするのは、明らかに矛盾していますよね。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

SINA

Re: 学校の課題で質問です

#4

投稿記事 by SINA » 14年前

お二人とも御丁寧な説明ありがとうございました。
なんとか上手い具合になってくれました。
原因は変数の扱いでした 

閉鎖

“C言語何でも質問掲示板” へ戻る