| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6489 人关注过本帖
标题:c语言比较三个数大小
只看楼主 加入收藏
Z1020
Rank: 1
等 级:新手上路
帖 子:63
专家分:5
注 册:2019-11-9
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:16 
c语言比较三个数大小
题目是用max函数比较三个数的大小,比较其他组的大小都没问题,但唯独比较-1 -2 -3这三个数时得到的max为-2,求大佬指明错误。谢谢!
我的代码:
#include<stdio.h>
int max(int a,int b)
{
    int re=a;
    if(b>a)
    re=b;
    return re;
}
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    printf("max=%d",max((a,b),c));
    return 0;
}
搜索更多相关主题的帖子: 大小 比较 max 个数 int 
2020-01-06 14:57
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:10 
#include<iostream>
using namespace std;

int maxchar(int a,int b)
{
    if(a>b)
        {return a;}
    else
        {return b;}
}
int main()
{
    int a,b,c,m;
    cin >> a>>b>>c;
   
    m=maxchar(maxchar(a,b),c);
    cout<<"3个字符串的最大值为"<<m<<endl;
}//楼主看着改吧,我只会用C++写

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-01-06 15:18
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:10 
[quote]以下是引用Z1020在2020-1-6 14:57:13的发言:

题目是用max函数比较三个数的大小,比较其他组的大小都没问题,但唯独比较-1 -2 -3这三个数时得到的max为-2,求大佬指明错误。谢谢!
我的代码:
#include<stdio.h>
int max(int a,int b)
{
    int re=a;
    if(b>a)
    re=b;
    return re;
}
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    printf("max=%d",max((a,b),c));//改为printf("max=%d",max(max(a,b),c));
    return 0;
}//为什么这么改呢?因为max((a,b),c));实际上可以写为max(b,c));此时b为a,c为b,但是c又不大于b只只能老老实实返回b的值-2了

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-01-06 16:06
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:0 
回复 楼主 Z1020
你用你的原代码测试以下数据试一试
2 1 0
1  0 -1
 10   5  6
11  -1     6
 等等等

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-01-06 16:12
Z1020
Rank: 1
等 级:新手上路
帖 子:63
专家分:5
注 册:2019-11-9
收藏
得分:0 
回复 3楼 叶纤
可爱的小姐姐你好呀,我想问一下为什么max((a,b),c)是等于max(b,c)的呢?它的意思不是先a和b比较出最大值,再用大者和c比较吗?我测试了你所给的数据,确实如你所说,另外,你所给的改后的程序运行成功了,非常感谢!希望小姐姐还可以解答一下为什么max((a,b),c)是等于max(b,c)而不是先a和b比较出最大值,再用大者和c比较...系谢谢谢谢!
2020-01-06 16:37
xianfajushi
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:527
专家分:690
注 册:2007-9-8
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
收到的鲜花
  • Z10202020-01-06 23:37 送鲜花  1朵  
  • 午夜精灵2020-01-17 12:34 送鲜花  1朵  
2020-01-06 16:48
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:0 
回复 5楼 Z1020
因为我和你的语言不通,不过呢最好帮助你理解,,,这个符号的办法请按照我的操作来

请在你的编译器上分别打印(1,2)  (3,4)  (7,8)  (1,25)  (45,5)
    (11,12)最后总结一下为什么
给你个列子
#include<iostream>
using namespace std;

int main()
{
   
    cout << (1,2)<<","<< (3,4)<<endl;
}
收到的鲜花
  • Z10202020-01-06 23:37 送鲜花  1朵  
  • 午夜精灵2020-01-17 12:56 送鲜花  1朵   附言:&amp;128077;&amp;128077;

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-01-06 16:55
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:0 
回复 6楼 xianfajushi
大神我想问?这个符号是什么
因为我不知道?这个符号的意思
我只能这样理解就拿最小值来说
a大于b吗b大于c吗    是的话c就是b  要想b等于c需要c大于a吗a等于c

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-01-06 17:17
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1685
专家分:4252
注 册:2007-12-27
收藏
得分:0 
学习程序设计,语法上要把思想统一到C语言标准上来,不要你以为,要编译器以为。
(a,b)这个叫逗号表达式----翻教材吧
?: 这个叫条件运算符----翻教材吧
收到的鲜花
  • 叶纤2020-01-06 21:22 送鲜花  1朵  
  • Z10202020-01-06 23:37 送鲜花  1朵  

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-01-06 18:27
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:0 
回复 10楼 forever74
谢谢楼上的提醒,送多花花以示感谢,此楼为备忘录,不过我做不到连写
#include<iostream>
using namespace std;
int main()
{  int a,b,c;
cin >> a>>b>>c;
int a_b =a>b?a:b;//比较a b大小对的话a否则为b
int b_c=b>c?b:c;//比较 b c大小  输出大的
int all=a_b>b_c?a_b:b_c;//把abc中最大的找到
cout << all << endl;//最大值
  
}
//LRbool?L (1):R(0)   "?:条件运算符"      

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-01-06 21:21
快速回复:c语言比较三个数大小
数据加载中...
 
   



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

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