判断任意两个数、三个数、数组较大值

    技术2023-10-30  115

    判断任意两个数、三个数、数组较大值

    一、判断任意两个数较大值

    思路:判断任意两个数较大值比较简单,基本思路为比较两个数的大小较大者输出。

    以下介绍了两种方法:

    //方法一:if条件语句直接判断 int main() { int a = 0; int b = 0; printf("请输入两个数:"); scanf_s("%d,%d", &a, &b); if (a > b) { printf("%d\n", a); } else printf("%d\n", b); return 0; } //方法二:运用三目操作符 int main() { int a = 0; int b = 0; int max = 0; printf("请输入两个数:"); scanf("%d,%d", &a, &b); //运用三目运算符,(a>b)?(a):(b)意思为当a>=b时max=a;当a<b时max=b. max = a >= b ? a : b; printf("%d\n", max); return 0; }

    二、判断任意三个数较大值

    **方法一 思路:**三个数a,b,c;判断如果在a>b条件下,a>c则a为最大值否则c为最大值;如果在 a<b条件下,b>c则b为最大值。

    int main() { int a = 0; int b = 0; int c = 0; printf("请输入三个数:"); scanf("%d,%d,%d", &a, &b, &c); if (a > b) { if (a > c) { printf("最大值为%d", a); } else printf("最大值为%d", c); } else if (b > c) printf("最大值为%d", b); return 0; }

    **方法二 思路:**运用if条件语句判断前两个数大小,将较大数赋给max,再将max与第三个数比较找到最大的数。

    int main() { int a = 0; int b = 0; int c = 0; int max = 0; printf("请输入三个数:"); scanf("%d,%d,%d", &a, &b, &c); if (a > b) { max = a; } else max = b; if (max > c) { printf("最大值为%d", max); } else printf("最大值为%d", c); return 0; }

    **方法三 思路:**运用三目操作符判断前两个数大小,将较大数赋给max,再将max与第三个数比较找到最大的数。

    int main() { int a = 0; int b = 0; int c = 0; int max = 0; printf("请输入三个数:"); scanf("%d,%d,%d", &a, &b, &c); max = a >= b ? a : b; max = max >= c ? max : c; printf("最大值为%d", max); return 0; }

    三、判断给定数组较大值

    **方法一 思路:for循环遍历数组,数组内每一个元素与max相比较,大于max将此元素赋值给max,再进行下一次比较。循环找出较大值。

    int main() { int i = 1; int arr[] = { 1, 2, 3, 9, 6, 7, 8}; int max = 0; for (i = 1; i < 10;i++) { if (max <= arr[i]) { max = arr[i]; } else { max = max; } } printf("最大值为%d", max); return 0; }

    优化:运用三目操作符

    int main() { int i = 0; int max = 0; int arr[] = { 1, 2, 3, 9, 6, 7, 8 }; for (i = 0; i < 7; i++) { max=(arr[i] >= max ? arr[i] : max); } printf("最大值为%d", max); return 0; }
    Processed: 0.024, SQL: 9