来个会一点点。大一新生在线

有一个具有6个成绩的一维数组(成绩初始化{50,60,70,80,90,100}),自定义函数求其总分和平均分(一维数组的传地址)

这个简答, 稍等

#include <stdio.h>
int func(int *p,int n,float *avg)
{
    int sum = 0;
    for(int i=0;i<n;i++)
        sum += *(p+i);
    *avg = sum*1.0/n;
    return sum;
}
int main()
{
    int a[6] = {50,60,70,80,90,100};
    int sum = 0;
    float avg = 0;
    sum = func(a,6,&avg);
    printf("总分:%d,平均分:%.1f",sum,avg);
}

仅供参考!

img

#include<stdio.h>

void total_avg(int *a, int n, int *total, float *avg)
{
    int m = n;
    *total = 0;
    while (m--)
        *total += a[m];
    *avg = 1.0f * *total / n;
}

int main(void)
{
    int total, a[6] = { 50, 60, 70, 80, 90, 100 };
    float avg;
    total_avg(a, 6, &total, &avg);

    printf("总分:%d\n平均分:%f\n", total, avg);
    return 0;
}



#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
int sum(int arr[6])
{
    int i = 0;
    int x = 0;
    for (i = 0; i < 6; i++)
    {
        x += arr[i];
    }
    return x;
}

int ave(int x)
{
    float y = x / 6.0f;
    return y;
}

int main()
{
    int arr[6] = { 50,60,70,80,90,100 };
    int x = sum(arr);
    float y = ave(x);
    
    printf("%d\n", x);
    printf("%f", y);
    return 0;
}