无法判断自己的代码的问题
#include
void fun1(float *score,float *minscore,float *maxscore,float averagescore);
void fun2(float score[]);
int main()
{
printf("My name is:Jia\n");
printf("My student ID is 222021326062011\n");
int i;
float scores[10];
float minsco,maxsco,averagesco;
printf("Please input 10 scores of each course:\n");
for(i=0;i<10;i++)
{
scanf("%f",&scores[i]);
}
printf("\nfun1\n");
fun1(scores,&minsco,&maxsco,&averagesco);
printf("The minimal score is %f\n",minsco);
printf("The maximal score is %f\n",maxsco);
printf("The average score is %f\n",averagesco);
printf("fun2\n");
*fun2(scores[10]);
printf("The minimal score is %f\n",scores[0]);
printf("The maximal score is %f\n",scores[1]);
printf("The average score is %f\n",scores[2]);
}
void fun1(float *score,float *minscore,float *maxscore,float *averagescore)
{
int i;
*minscore=*maxscore=*averagescore=*score;
for (i=1;i<10;i++)
{
if(*(score+i)<*minscore)
{
*minscore=*(score+i);
}
if(*(score+i)>*maxscore)
{
maxscore=(score+i);
}
averagescore+=(score+i);
}
averagescore/=10;
}
void fun2(float score[])
{
int i;
float min,max,avg;
min=max=avg=score[0];
for(i=1;i<10;i++)
{
if(score[i]
{
min=score[i];
}
if(score[i]>max)
{
max=score[i];
}
avg+=score[i];
}
avg/=10;
min=score[0];
max=score[1];
avg=score[2];
}
C:\Users\JYK\Desktop\编程?笛?\实验?運lab7(6).cpp [Error] cannot convert 'float' to 'float*'
*fun2(scores[10]); 为啥要加星号?参数因该是scores,不是scores[10]
fun1函数
*averagescore+=*(score+i);
*averagescore/=10;
main函数
*fun2(scores[10]);
改成
fun2(scores);
fun2
的参数是float数组,你的代码fun2(scores[10])
这句有问题,应该是fun2(scores)