数媒萌新,遇到一难题,翻了一下午资料也想不出来怎么算,特来求助吧友,原题是用递归算法求十个学生成绩的最大值和最小值,
这是我写的,哪个地方错了
#include<stdio.h>
int a[10];
int max(int k,int *max1,int *min)
{
if(k==9) return a[k];
int p= max(k+1,max1,min);
int m=a[k]>p ? a[k] : p;
int n=a[k]<p ? a[k] : p;
*max1=m;
*min=n;
}
int main()
{
int j,i,c,d;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
max(0,&c,&d);
printf("max=%d,min=%d",c,d);
return 0;
}
这是我写的,哪个地方错了
#include<stdio.h>
int a[10];
int max(int k,int *max1,int *min)
{
if(k==9) return a[k];
int p= max(k+1,max1,min);
int m=a[k]>p ? a[k] : p;
int n=a[k]<p ? a[k] : p;
*max1=m;
*min=n;
}
int main()
{
int j,i,c,d;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
max(0,&c,&d);
printf("max=%d,min=%d",c,d);
return 0;
}