【发布时间】:2014-04-02 06:54:50
【问题描述】:
我是编码新手,从 C 开始。 由于用户输入,我正在处理的程序让我挂断了电话。我应该找到用户输入的最小值和最大值,但到目前为止我没有尝试过任何工作。 任何帮助将不胜感激:
#include <stdio.h>
#include <math.h>
int main() {
int i;
int n;
float data;
float sumx;
float sumx2;
float mean;
float var;
float sd;
int min;
int max;
/* Get the number of data lines from the user*/
printf("How many numbers do you need to enter (n)? ");
scanf("%d", &n);
while (n <= 0) {
printf("Enter positive numbers only, please.\n");
printf("\n");
printf("How many numbers do you need to enter (n)? ");
scanf("%d", &n);
/* Initialization */
sumx = sumx2 = 0.0;
for ( i = 1; i <= n; i++) {
printf("Enter data item %d: ", i);
scanf("%f", &data);
min = 0;
max = 0;
if(data > max)
max = data;
else if(data < min)
min = data;
sumx = sumx + data;
sumx2 = sumx2 + (data * data);
}
mean = sumx / n;
var = 1.0/(n-1) * (sumx2 - (1.0/n) * sumx * sumx);
sd = sqrt(var);
printf("\n");
printf("The minimum value entered: %d\n", min);
printf("The maximum value entered: %d\n", max);
printf("\n")
printf("mean = %f\n", mean);
printf("variance = %f\n", var);
printf("std. dev. = %f\n\n", sd);
return 0;
}
无论在程序中输入什么值,最小值读取为 0,最大值为最后输入的值。 最小值/最大值应该不同吗?
【问题讨论】:
-
这需要将值分配给
min和max。你可以从那开始。 first 读取的值应分配给两者,然后根据需要对每个后续值进行相应调整。 -
你确定你发布了正确的程序吗?均值、方差等与您的问题有什么关系?
-
while循环对于正值始终为假 -
这是作业的一部分,只是想教我 C 的基础知识。无论输入什么数字,它都会给出平均值和方差。作为额外的计算,它说明了用户的最小和最大输出。
-
我没有看到任何东西甚至试图找出
min和max...
标签: c