| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2403 人关注过本帖
标题:如何写这个程序
只看楼主 加入收藏
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
结帖率:66.67%
收藏
已结贴  问题点数:12 回复次数:11 
如何写这个程序
3) 编写一个找出数组中最大元素的函数 maxElement。具体要求为:
a) 该函数的输入参数是:数组(浮点型)、数组中元素的个数(整型)
b) 函数的返回值是:最大元素所在的下标值(整型)
搜索更多相关主题的帖子: 元素 如何 
2017-05-30 15:41
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:3 
和上次那个有什么大的区别?

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-30 16:00
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
收藏
得分:0 
这次返回的是最大输的下标
2017-05-30 16:02
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 3楼 陈光星
有区别?找到最大值记录它的下标不就是了。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-30 16:15
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
收藏
得分:0 
我试试
2017-05-30 16:19
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
收藏
得分:0 
真不知道哪里错了


#include <stdio.h>
int maxelement(float array1[],int num);


int main ()
{
    float  array[5];
    int i,l;
    printf("请输入五个浮点数;\n");
    for(i=0;i<5;i++)
    {
        scanf("%f",&array[i]);
        printf("array[%-1d]=%f\n",i,array[i]);
        
    }
    printf("最大的数的下标为:%d",maxelement(array,l));
    return 0;
}



      int maxelement(float array1[],int num)
      {
          int j,k;
          float max;
          max=array1[0];
          k=0;
          for(j=0;j<num;j++)
          {
              if(max<array1[j+1])
              {
                  k=j+1;
                  max=array1[j+1];
                  
               }
              
              
              
       }
        return (k);      
         
         
         
      }   
2017-05-30 16:40
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:3 
int Max(int first,int last)//指定开始,结束元素下标,返回最大元素下标
{
    int r1,r2;   
    if(first>=last) return first;
    r1=Max(first,(first+last)/2);
    r2=Max(+(first+last)/2,last);
    return arr[r1]>arr[r2]?r1:r2;
}
求最大值下标(未测试)
2017-05-30 17:36
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:3 
回复 6楼 陈光星
也可以这样:
int maxelement(float array1[],int num)
{
    int j,max;
    max=0;
    for(j=1; j<num; j++)
    {
        if(array1[max]<array1[j])
            max=j;
    }
    return max;
}
2017-05-30 17:41
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:3 
为啥是j+1呢?会不会下标越界啊?

剑栈风樯各苦辛,别时冰雪到时春
2017-05-30 17:41
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
收藏
得分:0 
明白了
2017-05-30 21:56
快速回复:如何写这个程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.077566 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved