|
10鱼币
额废话先不说上代码
#include<stdio.h>
float max = 0, min = 0;//全局变量
void main()
{
float average(float array[], int n);
float ave, score[10];
int i;
for(i=0; i<10; i++)
{
scanf("%f,&score[i]");
}
ave = average(score,10);
printf("max = %6.2f\nmin = %6.2f\naverage = %6.2f\n", max, min, ave);
}
float average(float array[],int n)//定义函数,形参为数组
{
int i;
float aver = 0, sum = array[0];//试试改为ave
max = min = array[0];
for(i=0; i<n; i++)
{
if(array[i] > max)
max = array[i];
else if(array[i] < min)
min = array[i];
sum += array[i];
}
aver = sum / n;
return aver;
}
编译器都正常编译没有错误,但是在输入10个数之后进行运行的时候,就会跳出
我发现只要把for语句那段拿掉直接赋值10个值给数组,就不会出现这样的情况,上代码
#include<stdio.h>
float max = 0, min = 0;//全局变量
void main()
{
float average(float array[], int n);
float ave, score[10]={11,22,33,44,55,66,77,88,99,00};
ave = average(score,10);
printf("max = %6.2f\nmin = %6.2f\naverage = %6.2f\n", max, min, ave);
}
float average(float array[],int n)//定义函数,形参为数组
{
int i;
float aver = 0, sum = array[0];//试试改为ave
max = min = array[0];
for(i=0; i<n; i++)
{
if(array[i] > max)
max = array[i];
else if(array[i] < min)
min = array[i];
sum += array[i];
}
aver = sum / n;
return aver;
}
但是这样不就没法输入了吗?请给位大神前辈,指点迷津!!! |
最佳答案
查看完整内容
你确定不是 scanf("%f",&score); 吗
|