やろうとしていることを行うには、カウンターを維持する必要があります。そのちょうどint counter = 0;
ループ内:counter++
int counter = 0;
while (user_input != -1)
{
total += user_input;
counter ++;
scanf ("%d", &user_input);
}
average = total / counter;
printf("Average = %f\n", average);
scanf()
明らかに、少なくとも1が返されたかどうかを確認する必要があります
--- 編集 --- 次のプログラム (前のプログラムに対応する) は有効であり、必要に応じて動作します。どのように機能するかを理解していない人はscanf()
、気にしないでください。
#include <stdio.h>
int main(int argc, char *argv[])
{
int total = 0;
float average = 0.0f;
int userinput = 0;
int counter = -1;
while(userinput != -1){
counter ++;
if(scanf("%d",&userinput) == 1 && userinput != -1){
total += userinput;
}
}
average = ((float)total/(float)counter);
printf("Average = %f", average);
return 0;
}
入力:10 20 30 40 50 60 -1
出力:Average = 35