要输出数组中最大数的序号,但是这个程序显示出错,我实在看不出来哪里有问题
#include<stdio.h>
void FindMinElement (double dArray[], int nCount)
{
int i,t;
for(i=1;i<nCount;i++)
{
if(dArray[i-1]<dArray[i])
{
t=i-1;
printf("最小的数是%d",t);
}
}
}
void FindMaxElement (double dArray[], int nCount)
{
int i,t;
for(i=1;i<nCount;i++)
{
if(dArray[i-1]>dArray[i])
{
t=i-1;
printf("最大的数是%d",t);
}
}
}
int main()
{
double dArray={3,6,8,1,6,9,3,6,9,1};
int a=10;
FindMinElement(dArray,a);
FindMaxElement(dArray,a);
return 0;
}
你这样写是不断比较数组里面相邻的两个数,然后把较大的赋值给t,那么如果数组元素为 9 3 5 4
第一次循环 t为9 第二次循环不变,第三次循环t变为5,建议使用打擂法,int max=array[0];遍历一次数组即可