C語言:數組元素個數固定的最值輸出

完成于2020.10.10

數組元素個數固定式的最值輸出

一、初版(未優化)

** 比較基礎的寫法,需要在代碼中多次輸入元素個數,有點繁瑣,但是對於初學者,有利於明白比較大小這個算法**

第一种代码图像如下:

初級版

第一种代码如下:

#include <stdio.h>
int main ()
{
    
    printf(" 请输入十个整数,每个整数用回车间隔:\n");
    int m,i;
    int a[10];
    for (i=0;i<10;i++)
        {
    
            if (i<10)
        {
    
         scanf("%d",&a[i]);
         m=max(a);
    }
    printf("输入的数据中最大值为:%d\n",m);
}
int max(int a[10])
{
    
    int m,i;
    m=a[0];
    for (i=0;i<10;i++)
    {
    
         if (m<a[i])
         {
    
             m=a[i];
         }
    }
    return m;
}
    

二、优化版(模块化)

** 相较于第一种方法,这种方法可以让用户自行定义输入的数组元素个数,更加人性化,与此同时,由于函数模块化(max函数),可以多次利用该函数。**

先上图:

优化版

再上代码:

#include <stdio.h>
int main ()
{
    
    int max()
    int i,m,lg;
    printf("请输入数据个数:\n");
    scanf("%d",&lg);
    int a[lg];
    for(i=0;i<lg;i++)
       {
    
           printf("请输入第%d个数据\n",i+1);
           scanf("%d"&,a[i]);
       }
    m=max(a,lg);
    printf("这些数据中最大值为:%d\n",m);
}
int max(int a[],int lg)
{
    
    int i ,m;
    m=a[0];
    for (i=0;i<lg;i++)
    {
    
        if (m<a[i])
        {
    
            m=a[i];
        }
    }
    return m ;
}

结语

  • 可能图示代码与下面的代码块有些许不同,但实际运行结果相同。

By Levi.

猜你喜欢

转载自blog.csdn.net/weixin_51307692/article/details/109149134