我刚刚开始学习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));
}
}
答案 0 :(得分:11)
代码很好。您可能无法理解&#34;终止条件&#34;。程序以无限循环读取输入,您必须发送EOF
以终止循环。
要发送EOF,您可以在unix系统上使用ctrl + D
,在Windows上使用ctrl + Z
。