精华内容
下载资源
问答
  • 三个数中寻找最大值的5种方法-C语言实现

    万次阅读 多人点赞 2020-06-01 09:16:38
    老师给了一个非常笨拙的方法找三个数最大值,还让我找其他方法??

    写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人。欢迎关注与留言。

    某年某月某日,老师给我们布置了一个极其笨拙的方法用来求三个数中的最大值,还在最后让我们找其他方法,这就让我瞬间上了头!
    在这里插入图片描述

    第一种-使用三元运算符
    如名字表示的三元运算符需要三个操作数。
    语法为:条件表达式?表达式1:表达式2。
    说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。
    其逻辑为:“如果条件表达式成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2)。
    这题我们的思路也是一样,在这里我们先用三元运算符求出两个数的最大值,然后用这个最大值与第三个数比较得出真正的最大值。

    #include <stdio.h>
    int main()
    {
        int a, b, c;
        printf("请输入a,b,c");
        scanf("%d %d %d", &a, &b, &c);
        
        // 1.三元运算符
        int n = (((a > b) ? a : b) > c) ? ((a > b) ? a : b) : c;
        printf("%d", n);
        
        return 0;
    }
    
    
    
    

    第二种-调用函数
    其实调用的函数实际上又可以有多种写法,但是这里就不展开了,基本就是这里的方法变成两个数求最大值套进去,相信各位聪明的看官一定能轻松理解的。

    #include <stdio.h>
    int main()
    {
    	int a, b, c;
        printf("请输入a,b,c");
        scanf("%d %d %d", &a, &b, &c);
    
        // 2.调用函数
        int m=judge(judge(a,b),c);
        printf("%d", m);
    } 
       
    int judge(int a, int b)
    {
        return (a > b) ? a : b;
    }
    
    

    第三种-使用中间变量储存最大值

    // 3.使用中间变量储存最大值
    #include <stdio.h>
    int main()
    {
        int a, b, c;
        printf("请输入a,b,c");
        scanf("%d %d %d", &a, &b, &c);
    	
    	int t = 0;
        if (a > b)
            t = a;
        else
            t = b;
        if (c > t)
            t = c; //t为最大值
        printf("%d", c);
    } 
      
    

    第四种-方法3的改进版-使用a储存最大值

    // 4.方法3的改进版-使用a储存最大值
    #include <stdio.h>
    int main()
    {
    	int a, b, c;
        printf("请输入a,b,c");
        scanf("%d %d %d", &a, &b, &c);
    	
        if (a<b)
        	a=b;
        if (a<c)
        	a=c;//a值为最大值
        printf("%d",a);
    } 
      
    

    第五种-使用&&防止if嵌套

     // 5.使用&&防止if嵌套
    #include <stdio.h>
    int main()
    {
        int a, b, c;
        printf("请输入a,b,c");
        scanf("%d %d %d", &a, &b, &c);
    
        int max;
        if (a > b && a > c)
            max = a;
        else if(b > a && b > c)
            max = b;
        else
            max = c;
    
        printf("%d",max);
    } 
      
    

    都看到这里了,各位哥哥姐姐叔叔阿姨给小王点个赞 关个注 留个言吧,和小王一起成长吧,你们的关注是对我最大的支持。
    有事没事进来看看吧 : 小王的博客目录索引
    更多计算机网络优质博客看这 : 计算机网络专栏博客索引


    如果以上内容有任何不准确或遗漏之处,或者你有更好的意见,就在下面留个言让我知道吧-我会尽我所能来回答。

    展开全文
  • C语言作业1-顺序选择结构设计-3三个数比较出最大值 问题描述: 输入并运行下面程序: 三个整数a,b,c,由键盘输入这三个数,求三个数最大的值。 代码实现: #include&lt;stdio.h&gt; #include&lt;...

    C语言作业1-顺序选择结构设计-3三个数比较出最大值

    问题描述:
    输入并运行下面程序:
    三个整数a,b,c,由键盘输入这三个数,求三个数中最大的值。

    代码实现:

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    	double x,y,z,i,max;
    	printf("请输入三个数x,y,z\n");
    	scanf("%lf,%lf,%lf",&x,&y,&z);
    	i = 0;
    	max = 0;
    	i = (x > y) ? x:y;
    	max = (i > z) ? i:z;
    	printf("最大值为%lf",max);
    } 
    
    

    运行结果:
    在这里插入图片描述

    欢迎各位大佬提出更加优秀的解决思路。

    展开全文
  • 三个数最大数、最小数、中间

    千次阅读 2012-03-22 13:45:04
    // 获取中间值 public static int getMidNum(int a, int b, int c) { return (a c ?...// 获取最大值 public static int getMaxNum(int a, int b, int c) { return (a } // 获取最小值 public s

    // 获取中间值

    public static int getMidNum(int a, int b, int c) {

    return (a < b ? (b < c ? b : a < c ? c : a) : (b > c ? b : a > c ? c
    : a));
    }

    // 获取最大值

    public static int getMaxNum(int a, int b, int c) {
    return (a < b ? (b < c ? c : b) : (a < c ? c : a));
    }

    // 获取最小值
    public static int getMinNum(int a, int b, int c) {
    return (a > b ? (b > c ? c : b) : (a > c ? c : a));

    }


    例子:  编写主函数,提示用户通过键盘输入一个3位整数,判断是否为有效输入,调用一个子函数,取出该整数的各个位数并重新排列,输出可能的最大整数和最小整数。

    // 获取最大数字
    int const& getMaxNum(int const& x, int const& y, int const& z);

    // 获取最小数字
    int const& getMinNum(int const& x, int const& y, int const& z);

    // 获取中间数字
    int const& getMidNum(int const& x, int const& y, int const& z);

    // 数字的新组合
    void getNewCombination(int const& num);


    // 数字的新组合
    void getNewCombination(int const& num)
    {
    int hBit; // 百位
    int tBit; // 十位
    int oBit; // 个位

    int max = 0,min = 0;
    int t = 0;

    hBit = num / 100;
    tBit = (num/10)%10;
    oBit = ((num%100)%10);

    max = getMaxNum(hBit, tBit, oBit);
    min = getMinNum(hBit, tBit, oBit);
    t = getMidNum(hBit,tBit,oBit);

    cout<<"The Maximum num is :  " << (max*100 + t*10 + min)<<endl;
    cout<<"The Minimum num is :  " << (min*100 + t*10 + max)<<endl;

    }


    // 获得最大的数字
    int const& getMaxNum(int const& x, int const& y, int const& z)
    {
    int temp = (x>y)? x : y;
    return temp > z ? temp : z;
    }


    // 求中间大小的数字
    int const& getMidNum(int const& x, int const& y, int const& z)
    {
    return (x < y ? (y < z ? y : x < z ? z : x) : (y > z ? y : x > z ? z : x));  
    }


    // 获取最小的数
    int const& getMinNum(int const& x, int const& y, int const& z)
    {
    int temp = (x<y)? x : y;
    return temp<z ? temp : z;
    }


    void main()
    {
    int num;

    do 
    {
    cout<<"请输入一个三位数 :  ";
    cin>>num;
    if (num < 100 || num > 1000)
    {
    MessageBox(NULL,"数值范围为100--999","提示",MB_OK);
    }
    } while (num < 100 || num > 1000);

    getNewCombination(num);
    cout<<endl;

    }

    展开全文
  • printf(“输入三个整数:”); scanf("%d%d%d",&a,&b,&c);//等执行时输入的格式为a b c,不然会产生错误的 if(a>b&&a>c) printf(“最大值为%d\n”,a); else if(b>a&...

    #include <stdio.h>
    int main()
    {
    int a,b,c;
    printf(“输入三个整数:”);
    scanf("%d%d%d",&a,&b,&c);//等下执行时输入的格式为a b c,不然会产生错误的
    if(a>b&&a>c)
    printf(“最大值为%d\n”,a);
    else if(b>a&&b>c)
    printf(“最大值为%d\n”,b);
    else
    printf(“最大值为%d\n”,c);
    }

    展开全文
  • 使用if/else方式的三个数最大

    千次阅读 2018-06-04 09:48:14
    //三个数最大 //应用if else //编程环境:vs2012 //这个版本是不带输入的,把数据写在了程序里 #include&lt;stdio.h&gt; int main() { //首先是if else的应用 int a=2; //-------------------...
  • [C]选出三个数中的最大数和最小数

    千次阅读 2016-12-11 19:53:35
    #include int f(int a,int b,int c,int *max,int *min){ *max=a>b?a:b; *max=*max>c?*max:c; *min=a; *min=*min*min:c; } main(){ int a,b,c,max,min; while(1){ scanf("%d,%d,%d",&a,&b,&c);... f
  • JAVA算法:求数组中三个数相乘的最大乘积 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 注意: 给定的整型数组长度范围是[3,10^4],数组中所有的元素范围是[-1000, 1000]。 输入的...
  • 2.编写一个C程序,运行时输入a,b,c三个值,输出...思路:先比较两个的大小,然后将较大的再与第三个数比较,最后输出最大值。 代码如下: #include &lt;stdio.h&gt; //编译预处理命令 int main() ...
  • C语言求两个数最大公约数的种算法

    万次阅读 多人点赞 2018-11-02 16:56:19
    1.相减法 #include&lt;stdio.h&gt; //相减法 int main() ...输入两数字求最大公约数:"); scanf("%d%d",&amp;a,&amp;b); while(a!=b) { if(a&gt;b) ...
  • 使用三元运算符求三个数最大值 学习的时候总是会遇到需要求最大值的问题,慢慢的也掌握了各种求最大值的写法,下面就写写三元运算符求最大值的方法吧。 第一种: ```c #include<stdio.h> int main(){ ...
  • 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 输入: [1,2,3] 输出: 6 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, ...
  • 给定一个包含正负数零的一维无序数组,找到三个数字使得乘积最大 思路: 这道题目是个坑啊,我上来都没看直接当做之前一篇博文中求解矩阵中最大子数组的问题了,采用动态规划的思想来解决,结果呢,只通过了10%...
  • #include void main() { int a,b,c,t; printf("请输入三个整数并以回车结束:\n"); scanf("%d%d%d",&a,&b,&c); if(a>b) { t=a; a=b; b=t; } if
  • 在数据量大时,先点击目标区域左上角单元格,然后按住键盘shift键同时用鼠标左键点击目标区域右角单元格。 2、设置条件格式​ 选中“使用公式确定要设置的单元格”,填写公式=E2>=large($E2:$AI2,3) ...
  • 本人最近学习了种求解两个数最大公因数的方法,第一种是辗转相除法,第二种是相减法,第种是穷举法 方法一:辗转相除法: 首先判断m是否小于n,不然交换两值,始终保持m永远是最大的值,求余d=m%n,判断余数...
  •  Python——无序数组中找出为N的两个三个数、四个) 【问题描述】无序数组中找出为N的两个,例如,nums = [1, 4, 3, 2, 6, 5]中找出为target = 6的序列,答案:[(1, 5), (4, 2)]。 参考博客: 1、...
  • 三个数比较大小 — C语言经典题目

    万次阅读 多人点赞 2017-03-29 20:57:40
    这道题是每一位初学C的小伙伴们的必经之路,其经典性简直如同Hello World!下面写一下几种不同的解法。 1.if语句 2.三目运算(?) 3.调用函数 4.指针
  • 同时寻找最大数和最小数的最优算法以及寻找最大的两个数所需的最少比较次数
  • 求N个数最大公约数最小公倍数以及Hankson"逆问题"(python) 一、题目要求 1.基本要求: 求N个数最大公约数最小公倍数。用C或C++或java或python语言实现程序解决问题 2.提高要求: 已知正整数a0,a1,b0,b1,...
  • //输入函数 void printfOfIn(int *p,int count) { for (int i = 0 ; i ; i ++) { *(p + i ) = arc4random() % (40 - 20 + 1) + 20;//随机产生10count个数 } } //进行处理函数 void handleOfFunction(int *p ,
  • 三个整数a,b,c,由键盘输入,输出其中最大,请编写程序。 解题思路:先用scanf函数输入,再用if语句的嵌套比较其大小顺序。 具体解答:先用if语句假设a>b, 在这种情况嵌套if a>c那么最大值为a,输出...
  • 给定一由n行数字组成的数字三角形,试设计一算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大(每一步只能从一个数走到一层上它最近的左边的或者右边的)。 题目: 问题:  ...
  • 最大公约数:也称最大公约数、最大公因子,指两或多整数共有约数中最大的一。(如果a能被b整除,a就叫做b的倍数,b就叫做a的约数) 最小公倍数:两或多整数公有的倍数叫做它们的公倍数,其中除0以外...
  • 本文主要讲述求两个最大公约数的三个算法及其C语言实现方式,本文需要了解最大公约数的定义(具体可自行百科或者或者其他途径了解)。 另外本文中C语言实现中使用的Max_sort函数是为了保证a一定是大于b,如果a&...
  • 求N个数最大公约数最小公倍数。用C或C++或java或python语言实现程序解决问题。 1.程序风格良好(使用自定义注释模板) 2.提供友好的输入输出,并进行输入数据的正确性验证。 二、算法分析 注:遵循一条数学定理:...
  • 求两个数最大公因数最小公倍数

    千次阅读 多人点赞 2018-09-20 21:12:49
     首先不急着写代码,这题主要点就在于怎么求最大公因数最小公倍数,所以我们先来分析一下求这两个数的方法 ,假设这里两个数a,b;下面是我的解题思路: 最大公因数 我先随便给ab赋值,我们先来看看这测试 ...
  • 最近研究算法的时候突然发现目前国内网上还没有发布的...相关导读:Java求3个数的最小公倍数LCM,要求LCM小于11亿时计算结果正确(在CPU主频1.8GHz的情况) https://blog.csdn.net/number1killer/article/details/8...
  • JAVA求出3数字中的最大最小值

    千次阅读 2019-02-25 21:45:51
    定义min,max变量用来存储3个数中的最小值和最大值; 把minmax的初始值设置成第一数字; 然后我们分别把第二数字min比较,假如比min小,我们就把这数字赋值给min,这样就能保证min最后存储的是3...
  • 最优并发数和最大并发

    千次阅读 2017-08-01 17:26:34
    1. 一理发店有位理发师傅 2. 每位理发师傅理一发需要一小时 3. 顾客都很忙,从进理发店起最多只等小时(等待时间+理发时间),如果小时后还没轮到自己理发,立马走人。  思考:  这里...
  • 一共有种方法: 一、 穷举法: void Greatest_common_divisor1(int a, int b)//穷举法 { a = abs(a);... //最大公约数一定小于两个数中的较小,故在此将较小值赋给t. for (int i = t; i&amp

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,098,611
精华内容 839,444
关键字:

下面三个数的和最大