|
分類:[C/C++]
買った物の金額を連続して入力して,合計金額を表示するプログラム作りたいのですが、わからない点がいくつかあるので指摘していただきたです。
このプログラムの条件として
@ 0が入力されると終了するようにさせること
A 入力された金額の平均値を求めること
B while ,do while構文を使うこと
#include<stdio.h>
int main( void)
{
int n, kosu=0 , sum;
printf("買ったものの金額を入力してください。\n");
printf("終了するときは0を入力してください。\n");
do {
kosu++;
printf("%d個目の物の金額を入力してください。\n",kosu);
scanf("%d", &n);
sum += n;
printf("合計%d個 合計金額%d 平均金額%d \n\n", kosu, sum, sum/kosu);
}while( n != 0);
return (0);
}
終了するために0を入力したいのですがしたいのですが、その0が買ったものの金額としてカウントされ平均金額・合計個数を正しい値で表示できません。もう一点として平均金額の値がint型なので小数点以下が省略されてしまうので、float型にしたいのですがどの変数を書き換えればいいのかがよくわかりません。
ごく初歩的なことで申し訳ありませんが、指摘していただけると助かります。
実行例
買ったものの金額を入力してください。
終了するときは0を入力してください。
1個目の物の金額を入力してください。
3
合計1個 合計金額3 平均金額3
2個目の物の金額を入力してください。
4
合計2個 合計金額7 平均金額3
3個目の物の金額を入力してください。
5
合計3個 合計金額12 平均金額4
4個目の物の金額を入力してください。
0
合計4個 合計金額12 平均金額3 (ここを正しく表示させるようにしたい。)
|