一个使用 C 的小程序,使用 if, else 找到四个数字中最大的一个

Sib*_*sim 2 c

我是 C 编程的新手,也是“编程”的新手。到现在还不到一个月。我制作了一个小程序,用于打印四个输入数字中最大和最小的整数。使用基本的 c 编程方法有什么最短的方法吗?

#include <stdio.h>

main()
{   
    int a, b, c, d, y;

    printf("Enter four integers (separate them with spaces): ");
    scanf("%d %d %d %d", &a, &b, &c, &d);

    if (a>b && a>c && a>d){
      if (b<c && b<d){
        y = b;
      }
      else if (c<b && c<d){
        y = c;
      }
      else if (d<b && d<c){
        y = d;
      }

      printf("Largest: %d\n", a);
      printf("Smallest: %d", y);
    }
    else if (b>a && b>c && b>d) {
      if (a<c && a<d){
        y = a;
      }
      else if(c<a && c<d){
        y = c;
      }
      else if(d<a && d<c){
        y = d;
      }

      printf("Largest: %d\n", b);
      printf("Smallest: %d", y);
    }
    else if (c>a && c>b && c>d)
    {
      if (a<b && a<d){
        y = a;
      }
      else if(b<a && b<d){
        y = b;
      }
      else if(d<a && d<b){
        y = d;
      }

      printf("Largest: %d\n", c);
      printf("Smallest: %d", y);
    }
    else if (d>a && d>b && d>c) {
      if (a<b && a<c){
        y = a;
      }
    else if(b<a && b<c){
      y = b;
    }
    else if(c<a && c<b){
      y = c;
    }

    printf("Largest: %d\n", d);
    printf("Smallest: %d", y);
  }

  return 0; 
}
Run Code Online (Sandbox Code Playgroud)

Fah*_*raz 5

欢迎来到编程世界。你会喜欢这里的:)

在逻辑思维中,您应该始终尝试考虑可以轻松扩展的通用解决方案。

最大值问题的更通用方法是任意设置最大值,然后使用循环比较所有其他值。

将数字放入数组中。

int array[] = {a,b,c,d};
Run Code Online (Sandbox Code Playgroud)

将最大值和最小值任意设置为数组的第一个元素

int max = array[0];
int min = array[0];
Run Code Online (Sandbox Code Playgroud)

将循环运行到数组的长度并将每个元素与最大值进行比较。如果大于最大值,则更新最大值。同样将每个元素与最小值进行比较,如果它小于最小值,则更新最小值。

int length = sizeof array / sizeof array[0];
for (int n = 0; n < length; n++)
    {
       if(array[n]>max)
       {
        max = array[i];
       }
       if(array[n]<min)
       {
        min = array[i];
       }
    }
printf("Maximum Number:\t%d\n",max);
printf("Minimum Number:\t%d\n",min);
Run Code Online (Sandbox Code Playgroud)

使用这种方法,您可以轻松扩展到大量输入,而且相当简单。