| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8401 人关注过本帖
标题:编写一个函数,从n个实型数据中求最大值和次大值
只看楼主 加入收藏
jintom
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2010-11-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
编写一个函数,从n个实型数据中求最大值和次大值
小弟初来乍到,希望大虾能够帮帮我,用函数和指针,结果在main函数里输出
搜索更多相关主题的帖子: 最大值 实型 函数 数据 编写 
2010-12-05 14:37
DreamSkyCC
Rank: 2
来 自:河北赵县
等 级:论坛游民
帖 子:40
专家分:58
注 册:2010-11-28
收藏
得分:0 
给你个思路吧,
1. 首先找到最大值,然后在剩余的数当中找最大值,就可以了
2. 用冒泡法进行排序,排完序,自然就出来了!

努力总会有收获!
2010-12-05 17:58
mjjzhongguo
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-12-5
收藏
得分:0 
上面的方法的确简单,但是LZ不是要用函数很指针么,冒泡排序貌似不要用到指针的吧
2010-12-05 19:00
mjjzhongguo
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-12-5
收藏
得分:0 
上面的方法的确简单,但是LZ不是要用函数很指针么,冒泡排序貌似不要用到指针的吧
2010-12-05 19:10
五当家
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1112
专家分:3674
注 册:2010-10-20
收藏
得分:15 
程序代码:
#include<stdio.h>
#define n 10
void main()
{
    void fum(float *p);
    float a[n];
    int i,j,max;
    printf("请输入%d个数\n",n);
    for(j=0;j<n;j++)
        scanf("%f",&a[j]);
    fum(a);
    printf("这些数中的最大数为:%f,\t次大数为:%f\n",a[0],a[1]);

}
void fum(float *p)
{
    int i,k;
    for(i=0;i<n-1;i++)
    {
        if(*(p+i)<*(p+i+1))
        {
            k=*(p+i);
            *(p+i)=*(p+i+1);
            *(p+i+1)=k;
        }
    }
   
}
试试是不是你想要的.

经验积累中............
2010-12-05 19:28
chenzekai123
该用户已被删除
收藏
得分:5 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-05 19:52
jintom
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2010-11-19
收藏
得分:0 
谢谢大家啊  我基本原理知道  就是该怎么去写不清楚  我会好好学习楼上提供的程序  谢谢!!!
2010-12-06 15:01
jintom
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2010-11-19
收藏
得分:0 
#include<stdio.h>
#define n 10
void main()
{
    void fum(float *p);
    float a[n];
    int i,j,max;
    printf("请输入%d个数\n",n);
    for(j=0;j<n;j++)
        scanf("%f",&a[j]);
    fum(a);
    printf("这些数中的最大数为:%f,\t次大数为:%f\n",a[0],a[1]);

}
void fum(float *p)
{
    int i,k;
    for(i=0;i<n;i++)
    {
        if(*p<*(p+i))
        {
            k=*p;
            *p=*(p+i);
            *(p+i)=k;
        }
    }
   for(i=1;i<n;i++)
   {
     if(*(p+1)<*(p+i+1))
        {
            k=*(p+1);
            *(p+1)=*(p+i+1);
            *(p+i+1)=k;
        }
   }
}
貌似这样就ok了  谢谢各位。。。
2010-12-06 16:05
快速回复:编写一个函数,从n个实型数据中求最大值和次大值
数据加载中...
 
   



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

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