题目 1041: [编程入门]宏定义之找最大数

news/2025/3/15 4:55:34/

题目描述

分别用函数和带参的宏,从三个数中找出最大的数。

输入

3个实数

输出

最大的数,输出两遍,先用函数,再用宏。 保留3位小数。

样例输入

1 2 3

样例输出

3.000
3.000

代码1

import java.util.Scanner;
public class Main {
public static void main(String[] args) {Scanner scan = new Scanner(System.in);double a = scan.nextDouble();double b = scan.nextDouble();double c = scan.nextDouble();max(a,b,c);
}
public static void  max(double a,double b,double c) {double m = 0.000;//循环比较最大数if(a>b) {if(a>c) {m = a;}if(a<c){m = c;}}else if(b>c) {if(b>a) {m=b;}else if(b<a){m=a;}}else if(c>a) {if(c>b) {m=c;}else if(c<b) {m=b;}}System.out.printf("%.3f", m);System.out.println();System.out.printf("%.3f", m);}
}

代码2

import java.util.Scanner;
public class Main {
public static void main(String[] args) {Scanner scan = new Scanner(System.in);double a = scan.nextDouble();double b = scan.nextDouble();double c = scan.nextDouble();max(a,b,c);
}
public static void  max(double a,double b,double c) {//使用条件表达式进行比较double f = a>b?(a>c?a:c):(b>c?b:c);String d = String.format("%.3f", f);System.out.println(d);System.out.println(d);
}
}

拓展

a?b:c是条件表达式
表示如果a为真,则表达式值为b,如果a为假,则表达式值为c
示例如下:
if(a>b) max=a;
else max=b;
则可用条件表达式写为如下语句
max=(a>b)?a:b;
执行该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max.

注意

使用条件表达式要注意以下几点:

1.条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符.
当出现如下形式:
max=(a>b)?a:b
可以去掉括号而写为
max=a>b?a:b
2. 条件运算符?和:是一对运算符,不能将其分开单独使用.
3.条件运算符的结合方向是自右至左.
如下:
a>b?a:c>d?c:d
应理解为
a>b?a:(c>d?c:d)


http://www.ppmy.cn/news/517395.html

相关文章

数控g71编程实例带图_数控车床g71编程实例带图 表面速度130m/min主轴

导语:讲到实例,大家应该都知道,有人问数控车床g71车内孔,当然了,还有朋友想问数控车床g71编程实例带图,这到底是咋回事?事实上数控车床g71车内孔呢,下面小编就会给大家带来数控车床g71编程实例带图,下面我们一起来看看吧! 数控车床g71编程实例带图 T01; …

数控g71编程实例带图_数控车G71,G70指令的编程加工实例

如上图是一个直径稍大于52mm的圆柱棒,要车削得到上图的零件。对于这样的零件手工编程时用G71还是比较方便的。程序如下: O0001: G0 X99 Z99; M3 S800 T0101; G0 X60 Z2; G71 U1.5 R0.5; G71 P1 Q2 U0.5 W0.1 F150; N1 G0 X0; G1 Z0; X18 X26 Z-8; Z-18; X38 X42 Z-20; Z-30; …

广数系统加工中心编程_两个很简单的FANUC系统CNC加工中心编程实例

CNC加工中心的编程实例有很多&#xff0c;针对不同的加工工序有不一样的程序编制方法。操机人员通过编程可以使机器达到不同的加工效果。 在这里&#xff0c;我们将会带给大家几种关于法兰克系统的CNC加工中心的编程实例&#xff1a; 1&#xff1a;如果要如铣一个直径为6&#…

法兰克机器人循环编程_【发那科】FANUC机器人循环指令介绍

如果我们想在发那科机器人编程中对一定的内容进行多次重复执行,可以用什么指令来满足? 一般来讲,介于FOR和ENDFOR指令中间的程序内容可以实现多次重复执行,FOR和ENDFOR是一组成对出现的指令,缺一不可,在专业上称之为循环指令。 图1-1 FOR/ENDFOR指令菜单 • FOR 代表循环…

数控车椭圆编程实例带图_简析数控车床上椭圆加工的编程方法

史先伟 摘 要:目前,在机械加工中,非圆曲线越来越被广泛地应用,依靠传统的靠模加工已经不能满足现实的精度要求,取而代之的是在数控机床上进行加工。本文对常见的椭圆加工的几种常用方法进行编程示例。 关键词:数控编程 椭圆 方法 目前,随着数控机床的广泛应用,机械生…

法兰克机器人循环编程_FANUC机器人程序[1]

KESE 程序信号指令 1. D0 【 2 : T9-WAIT 】 =OFF 2. D0 【 9 : GRL-WAIT 】 =OFF 3. D0 【 4 : P3-WAIT 】 =OFF 4. D0 【 43 : GJ-OPEN 】 =OFF 5. D0 【 41 : FB-OPEN 】 =OFF P[99:HOME] 基本位(兼 T9 等待位) P[100:STOP-P0] 停车位 P[101 : P3-P01] P3 等待位置 P[…

法兰克机器人循环编程_原来可以这样编写Fanuc机器人程序!

原标题:原来可以这样编写Fanuc机器人程序! Robot 为自动化设备,但在自动化运转之前,必须先告诉Robot 要自动完成哪些动作,透过「撰写Robot 程序」可达到此目的。 Robot 程序主要由「动作指令」构成,只要熟悉手动操作Robot 的方式,将Robot 移动到欲记錄的位置,即可在「教…

法兰克机械手手动操作_法兰克机械手操作说明

㈠ 法兰克kcw-10v机床机械手换刀时主轴卡口和刀具的卡口对不齐了,怎么调整主轴角度怎么改参数 修改一下参数&#xff0c;定位角度偏置4077。4077中4096代表360度。差多少补进去就行了。 ㈡ 数控加工中心法兰克系统换刀机械手中停止&#xff0c;请内行给个解决方法 跟我们厂的机…