我正在使用C语言编程,需要编写代码从用户那里获取n个数字并找出这些数字的最小值、最大值、平均值和平方和。目前我已经完成了平均值和平方和部分,但是最小值和最大值的计算让我很困扰。
请注意,我只具备基础的编程知识,还没有学习到数组。我只知道逻辑运算符、函数、循环以及stdlib.h、math.h和stdio.h库的使用。
以下是我的代码。在编译时,当我尝试使用float和double时,平均数函数给了我很多问题,因此将其乘以1.0进行修正。我现在有所有结果,只差最小值和最大值。我得到的最大值总是最后一个输入的数字,最小值为0。
#include<stdio.h>
int main()
{
float average;
int i, n, count=0, sum=0, squaresum=0, num, min, max;
printf("Please enter the number of numbers you wish to evaluate\n");
scanf_s("%d",&n);
printf("Please enter %d numbers\n",n);
while(count<n)
{
min=0;
max=0;
if(num>max)
max=num;
if(num<min)
min=num;
scanf_s("%d",&num);
sum = sum+num;
squaresum = squaresum + (num*num);
count++;
}
average = 1.0*sum/n;
printf("Your average is %.2f\n",average);
printf("The sum of your squares is %d\n",squaresum);
printf("Your maximum number is %d\n",max);
printf("Your minimum number is %d\n",min);
return(0);
}
scanf()
的结果,并使用min = INT_MAX,max = INT_MIN
。 - chux - Reinstate Monica