課題
数値を繰り返して入力し、0が入力されたら入力を止め、平均値を表示せよ。
回答
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
#include <stdio.h>
int main(void)
{
int a;
int total;
int count;
total = 0;
count = 0;
do {
printf("数字を入力して下さい\r\n> ");
scanf("%d", &a);
total += a;
count++;
} while( a!=0 );
count--;
if (count == 0) {
printf("データがありません\r\n");
}
else {
printf("平均は、%d\r\n", total / count);
}
}
解説
課題2の別バージョンの回答例です。
do-while文を使ってみました。
これで if(a==0)を書かなくて良くなります。
つまり判定が一つ減ります。
ただし、do-whileを抜けた後に count をディクリメントする必要が出てきます。これを美しいと思うか醜いと思うかは人それぞれですかね。