| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1268 人关注过本帖
标题:c语言编程求10个数最大最小的数并输出它们
只看楼主 加入收藏
hdshdzh
Rank: 2
等 级:论坛游民
帖 子:77
专家分:11
注 册:2010-5-13
结帖率:92.31%
收藏
已结贴  问题点数:5 回复次数:6 
c语言编程求10个数最大最小的数并输出它们
#include<stdio.h>
main()
{
int i,max,min,n;
int a[10];
n=i+1;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
{
max=a[i]>a[n]?a[i]:a[n];
min=a[i]>a[n]?a[n]:a[i];
}
printf("max=%d,min=%d\n",max,min);
}运行错误,谁能帮我改进

[ 本帖最后由 hdshdzh 于 2010-5-14 15:59 编辑 ]
搜索更多相关主题的帖子: 输出 c语言 
2010-05-14 15:57
炫舞小子
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-14 16:08
九品绅士
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:59
专家分:199
注 册:2010-3-26
收藏
得分:3 
楼主的算法有问题,
for(i=0;i<10;i++)
{
max=a[i]>a[n]?a[i]:a[n];
min=a[i]>a[n]?a[n]:a[i];
}
这样子的话max与min只是不断的进行两个相邻数之间的比较赋值,最终的结果只取决于最后两个数的大小...我给你一个正确的代码:
#include<stdio.h>
main()
{
int i,max,min,n;
int a[10];

for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=min=a[0];
for(i=0;i<10;i++)
{
    if(max<a[i])max=a[i];
    if(min>a[i])min=a[i];
}
printf("max=%d,min=%d\n",max,min);
}
2010-05-14 16:44
kenny_jssz
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2010-5-14
收藏
得分:2 
回复 3楼 九品绅士
我是这样写的:
#include "stdio.h"
void main()
{ int max,min,a,i=1;
  printf("The program function will work out the max number and min number;\n");
  printf("Please input the first number,and put enter key.\n");
  scanf("%d",&a);
  max=a;
  min=a;
  do
  { printf("please input the %d number.\n",(i+1));
    scanf("%d",&a);
    if(max<=a)
     {max=a;}
    else
      {if(a<=min) /*计算最小值时,如不加此条,会导致前一值最小值被第二次录的小于max的取代,而不一定是最小值*/
    {min=a;}}
    i++;
    printf("Then th MAX=%d,MIN=%d.\n",max,min);
   }
while(i<10);
printf("The %d number MAX=%d,and MIN=%d\n",i,max,min);
}
2010-05-14 18:23
hdshdzh
Rank: 2
等 级:论坛游民
帖 子:77
专家分:11
注 册:2010-5-13
收藏
得分:0 
4楼的程序太麻烦了,不是很简洁
2010-05-14 20:08
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:0 
#include <stdio.h>
 main()
{
     void xunzhao(int aa[]);
    int i,a[10];
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    xunzhao(a);
        
   
}
void xunzhao(int aa[])
{
    int max=aa[0],min=aa[0],k;
    for(k=1;k<10;k++)
    {
        if(aa[k]>max)
            max=aa[k];
        else if(aa[k]<min)
            min=aa[k];
    }
    printf("max=%d\nmin=%d",max,min);
   
   
}

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-05-18 17:44
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:0 
我这不是批评,lz你的解题思路不对,不要想得那么复杂,其实在复杂的题也可简单化的!!呵呵呵

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-05-18 17:46
快速回复:c语言编程求10个数最大最小的数并输出它们
数据加载中...
 
   



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

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