用数组从键盘输入10个整数,再找出数组中的最大数和最小数。
为什么我的程序 输出的结果总是不对(超过100之后,输出的值就错了)
#include <stdio.h>
void main()
{
int a[10],i,max,min;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
if(i==0)
max=min=a[0];
else{
if(min<a[i]) max=a[i];
if(max>a[i]) min=a[i];
}
}
printf("min=%d,max=%d\n",min,max);
}
为什么我那样是错的?。。
追答if(i==0)是什么意思?i从0到10,开始时i==0,此时max=min=a[0]???。
if(mina[i]) min=a[i];
上面两句大错,你自己好好分析一下你的逻辑。
还有你的min和max没有初始化,值不定。
一句话,算法混乱。
嗯...果然一级棒.首先很感谢你改程序..其次.你改的是错的
追答程序确实有问题,你的程序改两个地方即可,大意了!
#include
void main()
{
int a[10],i,max,min;
for(i=0;ia[i]) min=a[i]; /*如果a[i]max,则所a[i]的值给max*/
}
}
printf("min=%d,max=%d\n",min,max);
}