一段求数组最大值最小值的的代码,无论数组中输入的数是多少,为什么数组中的第九个数总是1呢,找不出问题,求交流
#include <stdio.h>void minmax(int number[],int *cnt,int *min,int *max);
int main ()
{
printf("请输入一组数字非零整数(输入0代表结束),我来帮你找最大值和最小值\n");
int i,j;
int x;
int cnt=1;
int number[cnt];
scanf("%d",&x);
for(i=0;i<cnt;i++)
{
if (x!=0)
{
number[i]=x;
cnt++;
scanf("%d",&x);
}
else
{
continue;
}
}
//将输入的数存入合适大小的数组中
printf("%d\n",cnt);
for (j=0;j<cnt-1;j++)
{
printf("%d\t",number[j]);
}
//检查存入是否正确
int max=number[0];
int min=number[0];
minmax(number,&cnt,&min,&max);
printf ("max=%d,min=%d",max,min);
return 0;
}
void minmax(int number[],int *cnt,int *min,int *max)
{
int i;
//int *pmin;
//int *pmax;
//int *pcnt;
//int n = *cnt;
for(i=1;i<*cnt-1;i++)
{
if(number[i]<*min)
{
*min=number[i];
}
if(number[i]>*max)
{
*max=number[i];
}
}
}
//定义找出数组中最大最小值得函数