我已经写出了我想要使用的主要代码。我需要做的就是让用户输入五个数字。然后,一旦他们插入数字,我需要将它们输入到数组中,以便可以计算它们。我试图了解如何成功获取用户输入并使用它,但一直无法弄清楚。
int
main (int argc, char **argv)
{
int number1;
int number2;
int number3;
int number4;
int number5;
int a[5];
printf("Enter a number\n");
scanf ("%d, number1");
printf("Enter a number\n");
scanf ("%d, number2");
printf("Enter a number\n");
scanf ("%d, number3");
printf("Enter a number\n");
scanf ("%d, number4");
printf("Enter a number\n");
scanf ("%d, number5");
a[0] = number1;
a[1] = number2;
a[2] = number3;
a[3] = number4;
a[4] = number5;
int mean = (a[0] + a[1] + a[2] + a[3] + a[4]) / 5;
int difference0 = a[0] - mean;
int difference1 = a[1] - mean;
int difference2 = a[2] - mean;
int difference3 = a[3] - mean;
int difference4 = a[4] - mean;
int variance = ((difference0 * difference0) + (difference1 * difference1) + (difference2 * difference2) + (difference3 * difference3) + (difference4 * difference4)) / 5;
double sdeviation = sqrt(variance);
printf("the mean of the array is %d\n",mean);
printf("the variance of the array is %d\n",variance);
printf("the standard deviation of the array is %f\n",sdeviation);
return 0;
}
最佳答案
首先,您不需要 numberN
局部变量。您可以定义数组并直接将数字读入其中。
也就是说,不要一遍又一遍地重复相同的代码。
将代码更改为
#define ARRSIZE 5
int a[ARRSIZE] = {0};
for (int i = 0; i < ARRSIZE ; i++) {
printf("Enter a number\n");
scanf ("%d", &a[i]);
}
此外,检查 scanf()
函数的返回值以确保扫描成功始终是一个好习惯。
建议:始终启用编译器警告并尝试解决警告。
关于c - 不知道如何正确接收和使用用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35206968/