关于C语言的初级问题,请高手不吝赐教

来源:百度知道 编辑:UC知道 时间:2024/06/17 23:50:01
计算给定数组的最大值和最小值,同时编写主函数验证函数的功能。函数原型说明如下: void getmxmn(int a[],int n,int *pmx,int *pmn);
#include <stdio.h>
void getmxmm(int a[],int n,int *pmx,int *pmn);
{
int i,max,min;
for(i=0;i<n;i++)
{
if(i==1)
{max=a[i];min=a[i];}
max=max>a[i]?max:a[i];
min=min<a[i]?min:a[i];
max=*pmx;
min=*pmn;
}
}
main()
{
int a[],i,*pmx,*pmn,n;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
pmx=&max;
pmm=&min;
getmxmn(a,n,*pmx,*pmn);
printf("%d %d\n",pmx,pmn);
}
上面是在下编的,但是有错误,请高手指正,不胜感谢

#include <stdio.h>

#define MAX 100

void getmxmn(int a[], int n, int *pmx, int *pmn);

void getmxmm(int a[], int n, int *pmx, int *pmn)
{
int i, max, min;

max = a[0];
min = a[0];
for(i = 1; i < n; i++)
{
if (a[i] > max)
max = a[i];
if (a[i] < min)
min = a[i];
}

*pmx = max;
*pmn = min;
}

int main(void)
{
int a[MAX], i, max, min, n;

scanf("%d",&n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);

getmxmn(a, n, &max, &min);
printf("%d %d\n", max, min);
}

改好了

#include <stdio.h>
void getmxmm(int a[],int n,int *pmx,int *pmn)//将分号去掉
{
int i,max,min;
for(i=0;i<n;i++)
{
if(i==0)
{
max=a[i];min=a[i];
continue;//需要加1个continue语句,跳出这次循环,其实也可以在for循环前面讲max和min赋值