Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何过滤掉大于100的值,使其不';t把它算在总数中_C_For Loop_If Statement - Fatal编程技术网

C 如何过滤掉大于100的值,使其不';t把它算在总数中

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

程序要求输入速度,当速度高于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 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
后添加
继续--。