标题:这个是哪里出问题呢?求最大值的
只看楼主
fedcab123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:100
注 册:2011-9-3
结帖率:100%
 问题点数:0 回复次数:24 
这个是哪里出问题呢?求最大值的
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int a,b,c,i;
    scanf("%d%d%d",&a,&b,&c);
    while (a>b||b>c)
    {
        if(a>b) i=a;a=b;b=i;
        if(b>c) i=b;b=c;c=i;
    }
    printf("%d",c);
}

我试了一下,在输入时b为最大值就会出错,不理解是为什么,帮我说一下呗……
搜索更多相关主题的帖子: void include choice 最大值 
2011-09-05 15:26
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
得分:0 
程序代码:
#include "stdio.h"
void main()
{
    int a,b,c,i;
    scanf("%d%d%d",&a,&b,&c);
    while (a>b||b>c)
    {
        if(a>b)
           {
            i=a;
            a=b;
            b=i;
           }

        else if(b>c)
            {
                i=b;
                b=c;
                c=i;
            }
        else
            ;
    }
    printf("%d",c);

  

}


我帮你加了个else if,还有格式搞了下,你对照一下。
格式很重要,要明白 程序流程控制,选择的,循环的。
养成良好的习惯。


[ 本帖最后由 cosam 于 2011-9-5 16:03 编辑 ]
2011-09-05 16:02
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
得分:0 
回复 楼主 fedcab123
我试着是对的呀,楼主出错时送的什么数?我再试试

学C的秘诀=每天都来泡论坛
2011-09-05 16:18
落叶深蓝色
Rank: 8Rank: 8
来 自:山东
等 级:蝙蝠侠
帖 子:319
专家分:807
注 册:2010-12-8
得分:0 
程序代码:
#include <iostream>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    int max=(a>b?a:b)>c?(a>b?a:b):c;
    int min=(a>b?b:a)>c?c:(a>b?b:a);
    cout<<"max="<<max<<endl;
    cout<<"min="<<min<<endl;
    return 0;
}
2011-09-05 16:31
kikokokoo
Rank: 2
等 级:论坛游民
帖 子:21
专家分:29
注 册:2011-8-6
得分:0 
楼主。。就求3个数的最大数,用得着WHILE循环吗。。。
#include"stdio.h"
void main()
{
    int a,b,c,max;
    scanf("%d%d%d",&a,&b,&c);
    max=a;    //先把最大的数赋给第一个输入的数:a。
    if(max<b)     
        max=b;    //最大的数赋给b。
    if(max<c)     
        max=c;    //最大的数赋给c。
    printf("the maxnum is %d\n",max);    //你最后得出的必定是三个数中最大的那个数。
    getch();
}
求三个数中最大数的程序,还是这样最清晰,也好理解

[ 本帖最后由 kikokokoo 于 2011-9-5 17:09 编辑 ]
2011-09-05 16:42
fedcab123
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:100
注 册:2011-9-3
得分:0 
谢谢各位,我现在刚刚学的,那个教程里没有MAX这个说法,所以不知道。
我那个程序出错时是这样的
我输入a=3 b=5 c=2时,给的结果是好几百……
我不理解是怎么出来的,哪里出错,所以问一下


4楼哥的程序看不明白……
自己汗一个
2011-09-05 18:37
kikokokoo
Rank: 2
等 级:论坛游民
帖 子:21
专家分:29
注 册:2011-8-6
得分:0 
max也是你自己定义的变量,和你定义的变量i是一个性质,用max只是为了做到“见名知意”而已
2011-09-05 19:47
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
得分:0 
同意5楼的,不过按楼主的思路,应该这样写
#include "stdio.h"
void main()
{
    int a,b,c,i;
    scanf("%d%d%d",&a,&b,&c);
    while (a>b||b>c)
    {
        if(a>b)
        {
            i=a;
            a=b;
            b=i;
        }
        if(b>c)
        {
            i=b;
            b=c;
            c=i;
        }
    }
    printf("%d\n",c);
}
2011-09-05 20:10
guang0725
Rank: 2
等 级:禁止访问
帖 子:70
专家分:70
注 册:2011-9-5
得分:0 
怎么看着这么乱啊感觉,这样写对么,没啥感觉啊
2011-09-05 22:03
fourleaves
Rank: 2
等 级:论坛游民
帖 子:194
专家分:99
注 册:2010-5-8
得分:0 
楼主。。。。求最大值。。。用一句话就行了

maxscore=maxscore>a[i]? maxscore:a[i];
i++
剩下的就是把定义a[i]数组。。。。其他的就不写了

再复杂的问题也基于最简单的原理。耐心,耐心!丰富自己!等待时机!
2011-09-05 22:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-349200-1-1.html




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

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