私のプログラムは、複数の入力を読み取り、最小、最大、合計、および平均を表示することを想定しています。次のようになります。
入力:
2.5 5 3.5 4.5 jfkjk
出力:
min is 2.5
max is 5
sum is 15.5
average is 3.875
プログラムは、数字以外または改行に達したときに終了することになっています。ユーザーは好きなだけ数字を入力できます。配列を使用できず、ループを使用する必要があります。これは私のプログラムがどのように見えるかです:
void numbers()
{
double digit;
double sum = 0;
double avg = 0;
double max;
double min;
unsigned count = 0;
//int c;
max = 0;
printf("Input:");
do {
scanf("%lf", &digit);
min = digit;
if(max < digit)
digit = max;
if(min < digit)
digit = min;
sum += digit;
count++;
avg = sum/count;
} while( scanf("%lf", &digit)==1 )
printf(" min is %lf max is %lf sum is %lf avg is %lf count is %u", min, max, sum, avg, count);
}
プリントアウト:
Input:2.2 2.3 5 3.5 blah
min is 3.500000 max is 0.000000 sum is 0.000000 avg is 0.000000 count is 4