|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
double max, min;
void hanshu(double b[10]);
void main()
{
double a[10] = { 96, 95.5, 85, 76, 91, 86, 82, 79, 68, 88 };
hanshu(a);
printf("\n");
}
void hanshu(double b[10])
{
int i;
double max = b[0];
double min = b[0];
double average;
double k = 0;
for (i = 0; i < 10; i++)
{
k = k + b[i];
max = max>b[i + 1] ? max : b[i + 1];
min = min < b[i + 1] ? min : b[i + 1];
}
average = k / 10;
printf("%lf\n%lf\n%lf\n", average, max, min);
}
求数组的平均值、最大值、最小值。最小值min的输出答案一直不正确,请问到底怎么回事,
max = max>b[i + 1] ? max : b[i + 1];
min = min < b[i + 1] ? min : b[i + 1];
这两行中,数组b的下标写错了,把 i+1 改为 i 就可以了
若写成 i+1 ,当i为9的时候,就溢出了,那么就有可能导致max或者min出错
|
|