用Java语言编写一个程序 输入3个整数,输出其最大值 要求:不能使用if语句

运用if语句编写程序:输入三个数,然后输出其中最大或者最小的数~

代码比较简单,我就直接写在main函数里面了。
1、输入三个整型数,输出最大值
代码如下:
#include #define NUM 3int main(){ int i = 0; int aData[NUM] = {0}; printf("Input %d integer: ", NUM); for(i = 0; i < NUM; i++) { scanf("%d", &aData[i]); } int nMax = aData[0]; for(i = 1; i < NUM; i++) { if(nMax < aData[i]) { nMax = aData[i]; } } printf("The max : %d
", nMax); return 0;}2、输入三个整型数,输出最小值
代码如下:
#include #define NUM 3int main(){ int i = 0; int aData[NUM] = {0}; printf("Input %d integer: ", NUM); for(i = 0; i aData[i]) { nMin = aData[i]; } } printf("The min : %d
", nMin ); return 0;}
以上就是取最大值或者最小值的简单代码,其中通过宏定义 NUM 可以修改输入的数据数量,结合for循环的运用,使代码更加灵活。

#include
int max(int a, int b, int c)

{
int max = a;
if (max < b)
{
max = b;
}
if (max < c)
{
max = c;
}
return max;
}
int main() {
int a, b, c;
printf("请输入3个正整数:");
scanf("%d%d%d", &a, &b,&c);//每个数中间用空格隔开
printf("最大数是%d", max(a, b, c));
getchar();
return 0;
}
完善了一下楼上的

import java.util.Scanner;
public class test{
    public static void main(String[] args){
        Scanner scan=new Scanner(System.in);
        int[] num=new int[3];
        for(int i=0;i<3;i++){
            System.out.println("请输入第"+(i+1)+"个整数");
            num[i]=scan.nextInt();
        }
        int big=0;
        switch(num[0]>num[1]){
            case true:
            switch(num[1]>num[2]){
                case true:
                big=num[0];
                break;
                case false:
                switch(num[0]>num[2]){
                    case true:
                    big=num[0];
                    break;
                    case false:
                    big=num[2];
                    break;
                }
                break;
            }
            break;
            case false:
            switch(num[2]>num[1]){
                case true:
                big=num[2];
                break;
                case false:
                big=num[1];
                break;
            }
        }
        System.out.println("最大值为:"+big);
    }
}

 我用"switch-case"写的,虽然有点繁琐



使用三元运算符,参考代码:

import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        int a, b , c, max;
        Scanner sc = new Scanner(System.in);
        a = sc.nextInt();
        b = sc.nextInt();
        c = sc.nextInt();
        max = a>(b>c?b:c)?a:(b>c?b:c);
        System.out.println("max = " + max);
    }
}


public class num {

/**
* @param args
*/
public static void main(String[] args) {
double t,max;
Scanner input = new Scanner(System.in);
System.out.println("请输入第一个数");
double num1 = input.nextDouble();
System.out.println("请输入第二个数");
double num2 = input.nextDouble();
System.out.println("请输入第三个数");
double num3 = input.nextDouble();
t = num1>num2? num1:num2;
max = t > num3? t:num3;
System.out.println("max="+max);
}
}
刚刚写的!我用了DOUBLE类型,要用整型,就nextDouble();改成nextInt();就可以了。

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网