代码未在终端中运行

时间:2016-01-12 20:49:11

标签: c terminal

我刚刚开始学习C,在此之前我不了解编程。

所以我试图运行这个统计程序,它将读取输入并给出你的意思,方差等。我用终端来运行程序。我几乎复制了我正在使用的书中的代码。

当我运行代码时没有错误但是当我输入输入时,它没有做任何事情。代码如下。

#include <stdio.h>
#include <math.h>

int main()
{
    float x, max, min, sum, mean, sum_of_squares, variance;
    int count;
    printf("Enter data: "); /* not included in the original code*/

    if( scanf("%f", &x) == EOF )
        printf("0 data items read.\n");
    else{
        max = min = sum = x;
        count = 1;
        sum_of_squares = x * x;
        while(scanf("%f", &x) != EOF) {
            count += 1;
            if (x > max)
                max = x;
            if ( x < min)
                min = x;
            sum += x;
            sum_of_squares += x * x;
        }
        printf("%d data items read\n", count);
        printf("maximum value read = %f\n", max);
        printf("minimum value read = %f\n", min);
        printf("sum of all values read = %f\n", sum);
        mean = sum/count;
        printf("mean = %f\n", mean);
        variance = sum_of_squares / count - mean * mean;
        printf("variance = %f\n", variance);
        printf("standard deviation = %f\n", sqrt(variance));
    }
}

1 个答案:

答案 0 :(得分:11)

代码很好。您可能无法理解&#34;终止条件&#34;。程序以无限循环读取输入,您必须发送EOF以终止循环。

要发送EOF,您可以在unix系统上使用ctrl + D,在Windows上使用ctrl + Z