获得数组中的最小值

莫。
 #include <stdio.h>

int min=0;
int find_min_index(int numbers[], int length)
{
for(int a=0; a<length; a++)
{
    if(numbers[a]<min)
    min=numbers[a];
}

int main( int argc, char* argv[])
{
int data_array_1 = ( 1, 3, 5, 7, 9, 11};
int data_array_2 = ( 2, -4, 6, -8, 10, -12, 14, -16};
int data_array_3 = ( 6, 4, 1, 4, 5, 3, 2};

printf("Min's index array1 is: %d\n", find_min_index(array1, 6));
printf("Min's index array2 is: %d\n", find_min_index(array2, 9));
printf("Min's index array3 is: %d\n", find_min_index(array3, 7));

return 0;
}

我得到的输出是:

Min的索引array1为:6

敏的索引array2为:9

敏的索引array3为:7

而我期望的输出是:

Min的索引array1为:1

闵的索引array2是:-16

敏的索引array3为:1

大家可以帮助我获得适当的结果。

阿美

这是解决方案-

   #include <stdio.h>

  int find_min_index(int numbers[], int length)
  {
     int a;                           // bring a and min inside function 
     int min=numbers[0];              // initialize min with array's 1st element  
    for(a=1; a<length; a++)
    {
         if(numbers[a]<min)
         min=numbers[a];
     }
     return min;                       //return min from function 
  }

   int main( int argc, char* argv[])
    {
      int data_array_1[]={ 1, 3, 5, 7, 9, 11};      //declare and initialize array 
      int data_array_2[]={ 2, -4, 6, -8, 10, -12, 14, -16};
      int data_array_3[]={ 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ,0};

      printf("Min's index array1 is: %d\n", find_min_index(data_array_1, 6));   // calling function in printf
      printf("Min's index array2 is: %d\n", find_min_index(data_array_2, 8));
      printf("Min's index array3 is: %d\n", find_min_index(data_array_3, 11));   
   // printf("Min's index array3 is: %d\n", find_min_index(data_array_3, 10));  // in case you need this output as 1

      return 0;
   }

注意-请勿min使用0as数组作为+ve元素初始化0不会给出正确的输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章