C 如何过滤掉大于100的值,使其不';t把它算在总数中
程序要求输入速度,当速度高于100时,不应将该值包括在平均速度的计算中。我该怎么做 我放了一个我--;在else if中,显示else if(速度>100)。它重复该问题,但不删除大于100的值C 如何过滤掉大于100的值,使其不';t把它算在总数中,c,for-loop,if-statement,C,For Loop,If Statement,程序要求输入速度,当速度高于100时,不应将该值包括在平均速度的计算中。我该怎么做 我放了一个我--;在else if中,显示else if(速度>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
#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);
}
#包括
int main(){
int i;
双速,总和=0.0;
浮动平均;
对于(i=0;i<10;i++){//请求的是printf的10倍
printf(“%d输入速度:”,i);
scanf(“%lf”,&speed);//保存输入速度
sum+=speed;//sum=sum+speed;
//决定使用哪种装备
如果(速度==0){
printf(“齿轮N\N”);
}否则,如果(速度<0){
printf(“齿轮R\n”);
}否则,如果(速度可能会起作用:
elseif (speed > 100 ){ // when input higher than 100 dont save the input and ask again
printf("max speed 100 km/h\n");
sum-=speed;
i--;
}
C#语言标记是什么?代码显然不是C#,所以我为您删除了它。请不要用无关的标记发送垃圾邮件。也请花一些时间阅读,以及。至于您的问题,我建议您花一些时间学习如何调试代码。对于这种情况,一个好的开始应该是简单的,并密切关注order中执行操作。或者在监视变量及其值时,使用调试器逐语句逐步执行代码语句。只需从sum
@csabinho中减去speed
,我必须从何处减去它而不是从sum
中减去speed
,在这种情况下,您还可以移动sum+=speed
位于大的if
块下方,并在递减索引i
后添加继续--。