A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Zeus-S 中级黑马   /  2015-2-5 21:08  /  1489 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚看完数组视频,基础测试里有一道找出整形数组最小值,视频里的老师讲了一个最大值的练习,所以得出了这个最小值的函数。。。

//设计一个函数,找出整形数组元素的最小值

#include <stdio.h>

int min(int array[],int length){
       
        int min=array[0];//定义一个变量存储最小值,将首元素赋值给该变量
       
        for(int i=1;i<length;i++){
               
                if(min>array[i]){
               
                        min=array[i];
                }
        }
        return min;
}

int main(){
       
        int score[]={3,4,7,1,9};
       
        min(score,sizeof(score)/sizeof(int));
       
        printf("%d\n",min);
       
        return 0;
       
}

11 个回复

倒序浏览
不知道对不对,各位大神们帮忙纠错纠错,怕自己有些小细节没弄好
回复 使用道具 举报
printf("%d\n",min);  这句不对
回复 使用道具 举报
张洪丽 发表于 2015-2-6 03:19
printf("%d\n",min);  这句不对

是因为函数名和变量名一样所以不行么?
回复 使用道具 举报
2错错误!
1、if(min<array[i])// 应该小于
2、main函数里面。min+int类型!  int min。。。。。
回复 使用道具 举报
MacxChina 发表于 2015-2-7 11:33
2错错误!
1、if(min

怎么会是小于呢{:2_30:},,小于不是求最大值的嘛?还有第二个错误是不是不能取min命名的函数?请问要重新编个函数名么?
回复 使用道具 举报
Zeus-S 发表于 2015-2-9 23:31
怎么会是小于呢,,小于不是求最大值的嘛?还有第二个错误是不是不能取min命名的函数?请问要重 ...

汗!看错你的题了。!
你的错误在于:main 函数里面应该定义一个变量
例如:int mi = min(。。。)
printf("%d\n", mi);
回复 使用道具 举报
这段代码跟视频学的?不要那么逗好不好,视频里会有这样的代码,还是你偷工减料了。

main函数里的代码改成这样,应该就没人说了吧。

  1. int main(){
  2.         
  3.         int score[]={3,4,7,1,9};

  4.         //这样写可以,结构清晰
  5.         int length = sizeof(score) / sizeof(int);
  6.         int _min = min(score,length);
  7.         printf("%d\n",_min);
  8.         
  9.         //这样写也可以,不建议这样写,这样写可读性很差(这也是借用别人的话,哈哈)
  10.         //printf("%d\n",min(score,sizeof(score) / sizeof(int)));
  11.         
  12.         return 0;
  13.         
  14. }
复制代码
回复 使用道具 举报
Zeus-S 中级黑马 2015-2-10 16:53:11
9#
MacxChina 发表于 2015-2-9 23:54
汗!看错你的题了。!
你的错误在于:main 函数里面应该定义一个变量
例如:int mi = min(。。。)

搜嘚肆卡
回复 使用道具 举报
Kuaile天使 发表于 2015-2-10 09:55
这段代码跟视频学的?不要那么逗好不好,视频里会有这样的代码,还是你偷工减料了。

main函数里的代码改成 ...

感谢指教,我是看了视频里有段代码然后自己敲的,不是视频里的原来的代码。
回复 使用道具 举报
  1. //设计一个函数,找出整形数组元素的最小值

  2. #include <stdio.h>

  3. int min_array(int array[],int length){
  4.        
  5.         int min=array[0];
  6.        
  7.         for(int i=1;i<length;i++){
  8.                
  9.                 if(min>array[i]){
  10.                        
  11.                         min=array[i];
  12.                 }
  13.         }
  14.         return min;
  15. }


  16. int main(){
  17.        
  18.         int score[]={50,66,45,100,90};
  19.        
  20.         int min=min_array(score,sizeof(score)/sizeof(int));
  21.        
  22.         printf("%d\n",min);
  23.        
  24.         return 0;
  25. }
复制代码

点评

是我重新看了一遍视频改了下,应该没错了吧?求指点。编译的时候有个警告,但我不知道为啥,说是在29行没有换行符  发表于 2015-2-10 17:42
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马