当前位置:网站首页>指針:最大值、最小值和平均值

指針:最大值、最小值和平均值

2022-07-06 14:33:00 |光|

要求

編寫程序,輸入一個一維整型數組,輸出其中的最大值、最小值和平均值。(用指針實現)

代碼

#include<stdio.h>
/* * 該函數用來輸入一維整數數組,輸入的數據存放在形參a數組中 * 輸入的數據以0作為結束標志,0不存入數組也不計入輸入數據的總數 * 返回值為輸入數據的個數 */
int input(int a[])
{
    
    int n=0;
    int b = 0;
    do
    {
    
        scanf("%d",&b);
        if(b == 0)
        break;
        else
        {
    
            a[n] = b;
            n++;
        }
    }
    while(b != 0);
    return n;

}

/* * 該函數用來實現計算形參數組a中的最大值、最小值、平均值 * 最大值、最小值、平均值分別通過形參指針變量pmax、pmin、pavg來傳遞 * n為形參數組a中數據的個數 */
void fun(int a[],int *pmax,int *pmin,int *pavg,int n)
{
    
    int i,j,k=0;
    *pmax = a[0];
    *pmin = a[0];
    for(i=1;i<n;i++)
    {
    
        if(*pmin > a[i])
        {
    
            *pmin = a[i];
        }
        if(*pmax < a[i])
        {
    
            *pmax = a[i]; 
        }

        k = k + a[i];
        *pavg = (k + a[0])/n;
    }

}

main函數

int main()
 {
    
    int a[200],n,max,min,avg;
    n=input(a);
    fun(a,&max,&min,&avg,n);
    printf("最大值為%d,最小值為%d,平均值為%d\n",max,min,avg);
    return 0;
 }   

測試

測試輸入
1 3 5 7 0
輸出
最大值為7,最小值為1,平均值為4

原网站

版权声明
本文为[|光|]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060918542504.html