#include<stdio.h>
#define MAXN 50
int main()
{
int i, n;int a[MAXN],max=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{ if(a[max]<a[i])
{
max=i;
}
}
printf("%d",a[max]);
return 0;
}


#include<stdio.h>
#define MAXN 50
int main()
{
int i, n;int a[MAXN],max=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{ if(a[max]<a[i])
{
max=i;
}
}
printf("%d",a[max]);
return 0;
}


题目没有说清楚n的取值范围,这是个问题,你定义数组大小50,够用么
所以这个代码不能用数组的,直接定义个变量用来接收输入的整数,然后当输入第一个数时,赋值给max,以后各个数和max比较大小就行,最后得到最大值max输出。