Программа запрашивает ввод скорости, когда скорость выше 100, она не должна включать это значение в расчет средней скорости.Как я могу это сделать?
Я поставил i--;в остальном, если, где он говорит еще, если (скорость> 100).Он повторяет вопрос, но не удаляет значение, которое больше 100.
#include <stdio.h>
int main(){
int i;
double speed, sum = 0.0;
float average;
for( i = 0; i < 10; i ++ ){ // asks 10 times the printf
printf("%d Enter speed: ", i);
scanf("%lf",&speed); // saves the input speed
sum += speed; // sum = sum + speed;
// decides which gear to use
if (speed == 0){
printf("gear N\n");
}else if (speed < 0 ){
printf("gear R\n");
}else if(speed <= 10.0){
printf("gear 1\n");
}else if (speed <= 30.0){
printf("gear 2\n");
}else if (speed <= 60.0){
printf("gear 3\n");
}else if (speed <= 80.0){
printf("gear 4\n");
}else if (speed <= 100.0){
printf("gear 5\n");
}elseif (speed > 100 ){ // when input higher than 100 dont save the input and ask again
printf("max speed 100 km/h\n");
i--;
}else
printf("Error!\n");
}
average = sum/i; // average calculation
printf("average speed = %.2lf km/h", average); // prints out the average
return(0);
}
Когда я ставлю 200, оно должно удалить значение и снова спросить.То, что я получаю, когда ставлю 200, снова спрашивает, но использует 200 для вычисления среднего.