C语言求平均值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言求平均值相关的知识,希望对你有一定的参考价值。
给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000
主函数中输出:46 32 40 45 48
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#include <stdlib.h>
#define N 10
double fun(double x[],double *y)
int i,j; double av;
/**********found**********/
av=__1__;
/**********found**********/
for(i=0; i<N; i++) av = av + __2__;
for(i=j=0; i<N; i++)
/**********found**********/
if(x[i]>av) y[__3__]= x[i];
y[j]=-1;
return av;
main()
int i; double x[N],y[N];
for(i=0; i<N; i++) x[i]=rand()%50; printf("%4.0f ",x[i]);
printf("\n");
printf("\nThe average is: %f\n",fun(x,y));
for(i=0; y[i]>=0; i++) printf("%5.1f ",y[i]);
printf("\n");
#define N 10
double fun(double x[],double *y)
int i,j; double av;
/**********found**********/
av=0;
/**********found**********/
for(i=0; i<N; i++) av = av + x[i]/N;
for(i=j=0; i<N; i++)
/**********found**********/
if(x[i]>av) y[j++]= x[i];
y[j]=-1;
return av;
main()
int i; double x[N],y[N];
for(i=0; i<N; i++) x[i]=rand()%50; printf("%4.0f ",x[i]);
printf("\n");
printf("\nThe average is: %f\n",fun(x,y));
for(i=0; y[i]>=0; i++) printf("%5.1f ",y[i]);
printf("\n");
参考技术A ……我只会pascal的……
C语言试题练习:输入5个学生5门课的成绩,分别用函数求:1.每个学生平均分;2.每门课的平均分;3.找出所有分数中最高分
C语言试题练习:输入5个学生5门课的成绩,分别用函数求:①每个学生平均分;②每门课的平均分;③找出所有分数中最高分
//每个学生平均分;
void Average_Students(int a[5][5])
int i, j;
for (i = 0; i < 5; i++)
//第i+1个同学
double c;
int b = 0;
for (j = 0; j < 5; j++)
//第i+1个同学的成绩平均分
b += a[i][j];
c = b / 5.00;
printf("第%d个同学的成绩平均分%0.2f\\n", i + 1, c);
//每门课的平均分;
void Average_Class(int a[5][5])
int i, j;
for (j = 0; j < 5; j++) //这里a【i】【j】,j循环放在最外面
double c;
int b = 0;
for (i = 0; i < 5; i++)
b += a[i][j];
c = b / 5;
//printf("%d\\t", a[i][j]); 这里可以看下输出的分数列的数据
printf("第%d门课的平均分分别为%0.2f\\n", j + 1, c);
//所有分数中最高分;
void Max_Point(int a[5][5])
int maxh[5];
int i, j, max;
for (i = 0, j = 0; i < 5; i++)
maxh[i] = a[i][j];//假设每行第一个是最大值
for (j = 0; j < 5 - 1; j++)
//此行元素分别与之比较,较大值为maxh[i]
if (a[i][j + 1] >= maxh[i])
maxh[i] = a[i][j + 1];
for (i = 0; i < 5 - 1; i++)
max = maxh[i];//假设第一列的数是最大值
//整列元素分别与之比较,较大值为max
if (maxh[i + 1] >= max)
max = maxh[i + 1];
printf("所有分数中最高分max=%d\\n", max);
int main()
int a[5][5];
int i, j;
for (i = 0; i < 5; i++)
printf("第%d个同学的成绩:", i + 1);
for (j = 0; j < 5; j++)
scanf_s("%d", &a[i][j]);
//**输入时数字之间用空格分隔**
printf("\\n");
Average_Students(a); printf("\\n");
Average_Class(a); printf("\\n");
Max_Point(a); printf("\\n");//输出空格可去掉,这样只是为了输出结果美观
return 0;
输出结果
第1个同学的成绩:56 54 81 62 65
第2个同学的成绩:85 96 42 68 78
第3个同学的成绩:96 84 35 65 45
第4个同学的成绩:54 31 41 68 48
第5个同学的成绩:21 95 87 65 32
第1个同学的成绩平均分63.60
第2个同学的成绩平均分73.80
第3个同学的成绩平均分65.00
第4个同学的成绩平均分48.40
第5个同学的成绩平均分60.00
第1门课的平均分分别为62.00
第2门课的平均分分别为72.00
第3门课的平均分分别为57.00
第4门课的平均分分别为65.00
第5门课的平均分分别为53.00
所有分数中最高分max=95
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
参考链接 https://blog.csdn.net/weixin_45391986/article/details/105919562
以上是关于C语言求平均值的主要内容,如果未能解决你的问题,请参考以下文章