有一个具有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);
}
仅供参考!
#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;
}