| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 761 人关注过本帖
标题:帮忙完成下程序
只看楼主 加入收藏
liu200909
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:56
专家分:54
注 册:2009-9-20
结帖率:60%
收藏
已结贴  问题点数:30 回复次数:12 
帮忙完成下程序
题目:以便从一批数据中求出最大值、最小值及相应序号,并显示输出!
    要求使用一维数组,并把N个数的最大值、最小值及相应序号写成一个函数定义!

下面是我的部分程序,希望大家能帮忙完善下,谢谢!

#include "stdio.h"
#define N 10
main()
{
 int i,a[N],max,min;
 printf("请输入%d个整数:",N);
 for(i=0;i<N;i++) scanf("%d",&a[i]);
 max=a[0];
 min=a[0];
 for(i=0;i<N;i++)
 {
   if(max<a[i])max=a[i];
   if(min>a[i])min=a[i];
 }
printf("该数组中最大的数是:%d\n",max);
printf("该数组中最小的数是:%d\n",min);
}


/*我只把该数组中的最大值和最小值求出来,但是却不知道怎样求出该最大值、最小值所对应的序号,
希望各位大侠能帮帮忙!本人不甚感激!谢谢!*/
搜索更多相关主题的帖子: max include 最大的 最大值 
2009-10-13 22:15
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:2 
多声明两个变量插到if语句里来保存下标。

努力—前进—变老—退休—入土
2009-10-13 22:29
liu200909
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:56
专家分:54
注 册:2009-9-20
收藏
得分:0 
回复 2楼 UserYuH
谢谢你啊!但是我还是有些不懂,希望能在具体点,谢谢啦!
2009-10-13 22:38
yutianshangu
Rank: 2
等 级:论坛游民
帖 子:25
专家分:73
注 册:2008-10-12
收藏
得分:5 
for(i=0;i<N;i++)
{
   if(max<a[i]){max=a[i];ma=i;}
   if(min>a[i]){min=a[i];mi=i;}
}
2009-10-13 22:45
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:5 
楼上的是说:
/* Note:Your choice is C IDE */
#include "stdio.h"
#define N 10
main()
{  
int i,a[N],max,min,m,n;
printf("请输入%d个整数:",N);
for(i=0;i<N;i++) scanf("%d",&a[i]);
max=a[0];
min=a[0];
for(i=0;i<N;i++)
{
   if(max<a[i])
   {
       max=a[i];
       m=i;
   }
   if(min>a[i])
   {
       min=a[i];
       n=i;
   }
}
printf("该数组中最大的数是:%d,xia biao shi %d.\n",max,m);
printf("该数组中最小的数是:%d,xia biao shi %d.\n",min,n);
}
 
2009-10-13 22:45
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
如声明:
int n=0,m=0;   /* 注意这两个变量要初始化,假如a[0]以是最大值,后面是没对变量n做操作,n值就不对了。 */
·
·
·
for(i=0;i<N;i++)
{
   if(max<a[i]){max=a[i];n=i;}
   if(min>a[i]){min=a[i];m=i;}
}


[ 本帖最后由 UserYuH 于 2009-10-13 22:50 编辑 ]

努力—前进—变老—退休—入土
2009-10-13 22:46
evergogo
Rank: 2
来 自:宇宙-C星球
等 级:论坛游民
帖 子:64
专家分:25
注 册:2009-10-11
收藏
得分:5 
UserYuH  不是我的偶像!

异星球#include变种的C!
2009-10-13 22:51
看海的小星
Rank: 2
等 级:论坛游民
帖 子:30
专家分:51
注 册:2009-10-11
收藏
得分:5 
    UserYuH说的很对。要是没有对m,n赋初值的话,在m,n变量中是有一个系统以前残留下来的值的。这个是容易忽略的一点。
2009-10-13 23:11
liu200909
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:56
专家分:54
注 册:2009-9-20
收藏
得分:0 
回复 5楼 m456m654
结果还是有问题啊!


请输入10个整数:1
2
3
4
5
6
7
8
9
12
该数组中最大的数是:12,xia biao shi 9.
该数组中最小的数是:1,xia biao shi -858993460.
Press any key to continue

这是运行结果!
2009-10-13 23:13
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:8 
回复 9楼 liu200909
#include "stdio.h"
#define N 10
main()
{  
int i,a[N],max,min,m=0,n=0;
printf("请输入%d个整数:",N);
for(i=0;i<N;i++) scanf("%d",&a[i]);
max=a[0];
min=a[0];
for(i=0;i<N;i++)
{
   if(max<a[i])
   {
       max=a[i];
       m=i;
   }
   if(min>a[i])
   {
       min=a[i];
       n=i;
   }
}
printf("该数组中最大的数是:%d,xia biao shi %d.\n",max,m);
printf("该数组中最小的数是:%d,xia biao shi %d.\n",min,n);
}

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-10-13 23:16
快速回复:帮忙完成下程序
数据加载中...
 
   



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

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