c - c语言中求最大数和最小数的方法

标签 c

我找到了特定大小数组的解决方案。 但是,如何在不要求输入数组大小的情况下获得最大和最小数字?谢谢

例如当我输入 1、0、-1、5、43、65 等数字时,它只会返回 65 和 -1。我想忽略输入数组大小的步骤,在这种情况下为 6。

#include<stdio.h>
int main(){
  int a[50],size,i,big,small;

  printf("\nEnter the size of the array: ");
  scanf("%d",&size);
  printf("\nEnter %d elements in to the array: ", size);
  for(i=0;i<size;i++)
    scanf("%d",&a[i]);

  big=a[0];
  for(i=1;i<size;i++){
    if(big<a[i])
      big=a[i];
  }
  printf("Largest element: %d",big);

  small=a[0];
  for(i=1;i<size;i++){
    if(small>a[i])
      small=a[i];
  }
  printf("Smallest element: %d",small);

  return 0;
}

最佳答案

我再进一步。首先,您不需要为此设置数组,从而使避免大小输入变得微不足道(不需要它,因为没有数组):

#include <stdio.h>

int main()
{
    int val;

    printf("Enter number: ");
    fflush(stdout);

    if (scanf("%d", &val) == 1)
    {
        int big = val, small = val;
        do
        {
            if (big < val)
                big = val;
            if (val < small)
                small = val;

            printf("Enter number: ");
            fflush(stdout);

        } while (scanf("%d", &val) == 1);

        printf("Largest element: %d\n",big);
        printf("Smallest element: %d\n",small);
    }

    return 0;
}

关于c - c语言中求最大数和最小数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26187534/

相关文章:

c - 在 void* 结构中初始化混合类型(常量) - 可能吗?

c - fscanf 不读取/识别 float ?

对以下程序的输出感到困惑

c - 如何从 bash 向 C 程序提供输入?

c - 结构体作为外部函数 C 的参数

C 从 stdin 中读取以按 Enter 结尾的行

c - 为什么我可以访问另一个文件中的静态变量?

C 中的 sscanf 可以写在 char* 而不是 char[] 上吗?

c++ - 拦截到 memcached 的流量以进行统计/分析

c++ - Linux - 有时只会出现段错误 - 如何调试