黑马程序员技术交流社区

标题: 求一维数组的最小值 [打印本页]

作者: 那个Mr_Z    时间: 2014-4-15 23:36
标题: 求一维数组的最小值
#include <stdio.h>
 int  Minofarray( int array[],int length)
  {
      /* 定义一个变量存储最小值(默认就是首元素)*/
  int min = arrar[0];
  for (int i = 1;i<length;i++)
    {
        //如果当前元素小于min,就用当前元素覆盖min
  if (array[i] < min)
       {
          min =array[i];
        }
  
     }
  
    return min;
  }
 
  int main()
  {
  int ages[5] = {11,99,23,54,56,18);
  int min = Minofarray(ages,sizeof(ages)/sizeof(int))
      printf(“%d\n”,min);
      Return 0;
  }
编译报错如图所示:

360截图20140415233612929.jpg (12.27 KB, 下载次数: 10)

360截图20140415233612929.jpg

作者: 星河鹭起    时间: 2014-4-16 00:21
int main()
  {
  int ages[5] = {11,99,23,54,56,18);
  int min = Minofarray(ages,sizeof(ages)/sizeof(int))
      printf(“%d\n”,min);
      Return 0;
  }

主函数错了,应该是:
int main()
  {
  int ages[6] = {11,99,23,54,56,18};//错在这一行,首先你指定存储5个数字,但是却在大括号里放了6个数字,然后最后个是大括号,并不是小括号,希望楼主细心点,
  int min = Minofarray(ages,sizeof(ages)/sizeof(int))
      printf(“%d\n”,min);
      Return 0;
  }
作者: 1722413885    时间: 2014-4-16 00:33
本帖最后由 1722413885 于 2014-4-16 00:34 编辑
  1. #include <stdio.h>

  2.  int  Minofarray( int array[],int length)
  3.   {
  4.           /* 定义一个变量存储最小值(默认就是首元素)*/
  5.       int min = array[0];              //这个地方写错了
  6.       for (int i = 1;i<length;i++)
  7.             {
  8.                     //如果当前元素小于min,就用当前元素覆盖min
  9.               if (array[i] < min)
  10.                        {
  11.                               min =array[i];
  12.                             }
  13.             
  14.                  }
  15.    
  16.     return min;
  17.       }

  18.   int main()
  19.   {
  20.       int ages[5] = {11,99,23,54,56,18};//括号写错了
  21.         int min = Minofarray(ages,sizeof(ages)/sizeof(int));
  22.          printf("结果是%d\n",min);//双引号错了
  23.          return 0;
  24.           }
复制代码



作者: 程序猿-2014    时间: 2014-4-16 00:38
  1. #include <stdio.h>
  2. int Minofarray( int array[],int length){
  3.      int min = 0;
  4.       for(int i = 1;i<length;i++)
  5.            {
  6.         //如果当前元素小于min,就用当前元素覆盖min
  7.               if(array[i] < array[min])
  8.                 {
  9.                      array[min] =array[i];//这里比较的时对应的元素
  10.                 }
  11.                  }
  12.              return array[min];
  13.       }

  14.   int main(){
  15.     int ages[6] = {11,99,23,54,56,18};
  16.     int length =sizeof(ages)/sizeof(ages[0]);
  17.    int min2 = Minofarray(ages, length);
  18.           printf("%d\n",min2);
  19.     return 0;
  20.     }
复制代码

哥们虽然我不知道你那个报错是怎么回事     但是我知道我把你哪代码拷过去一运行却是  20个警告7个错误    上边是我修改过的程序   你看下应该就明白了    这个应该更好理解些

3IMUDOM5LPS{2PGG[BSF`DP.jpg (265.02 KB, 下载次数: 11)

3IMUDOM5LPS{2PGG[BSF`DP.jpg

作者: 二狗    时间: 2014-4-16 00:42
本帖最后由 二狗 于 2014-4-16 00:48 编辑
  1. #include <stdio.h>

  2. int minOfarry(int array[],int length)
  3. {
  4.     //1.定义一个变量存储最小值(默认是首元素)
  5.     int min = array[0];
  6.    
  7.     //2.遍历所有元素,找出最小值
  8.     for (int i = 0; i<length; i++)
  9.     {
  10.         //如果当前元素小于min,就用当前元素覆盖min
  11.         if (min>array[i])
  12.         {
  13.             min=array[i];
  14.         }
  15.     }
  16.     return min;
  17. }

  18. int main()
  19. {
  20.     //初始化数组
  21.     int ages[]={11,99,23,54,56,18};
  22.    
  23.     //调用函数
  24.     int min = minOfarry(ages, sizeof(ages)/sizeof(int));
  25.    
  26.     //输出最小值
  27.     printf("数组中是最小值是:%d\n",min);
  28.    
  29.     return 0;
复制代码






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2