C语言习题:输入10个学生5门课的成绩,分别用函数求:①每个学生平均分;②每门课的平均分;③找出所有分数中最高分

初学C语言,然后遇到一题:
输入10个学生5门课的成绩,分别用函数求:①每个学生平均分;②每门课的平均分;③找出所有分数中最高分
直接上代碼


注:自定义函数(xpj,kpj,maxj)我直接放在最前面,最后直接引用。

#include
#include

①自定函数:每个学生平均分

int xpj(int a[10][5]){//每个学生平均分;
	int i,j;
	for(i=0;i<10;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);}
		
}

举个例子,例如,3X5的成绩矩阵

–科目成绩 A B C D E
学生1 1 2 3 4 5
学生2 2 3 4 5 6
学生3 3 4 5 6 7
/以上代碼的运算原理:先计算学生1 所有成绩的平均值为:3,然后用相同的
方法 循环2次求出 另外两个学生 所有成绩成绩平均值。

②自定函数:每门课的平均分;

int kpj(int a[10][5]){//每门课的平均分; 
		int i,j;
	for(j=0;j<5;j++){//这里a【i】【j】,j循环放在最外面
	double c;	
	int b=0;
	for(i=0;i<10;i++){
		b+=a[i][j];
		c=b/10.00;	}printf("第%d门课的平均分分别为%0.2f\n",j+1,c);}
}

例如,3X5的成绩矩阵

–科目成绩 A B C D E
学生1 1 2 3 4 5
学生2 2 3 4 5 6
学生3 3 4 5 6 7
		/以上代碼的运算原理:先计算A的平均值为:2,然后以相同的方法循环另外4次,
	分别求出B、C、D、E的平均值

③自定函数:找出所有分数中最高分

int maxj(int a[10][5]){//所有分数中最高分;
	int maxh[10];
	int i,j,max;
	for(i=0,j=0;i<10;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<10-1;i++){max=maxh[i];//假设第一列的数是最大值 
	//整列元素分别与之比较,较大值为max
		if(maxh[i+1]>=max){max=maxh[i+1];}}
			printf("所有分数中最高分max=%d\n",max);
}

例如,3X5的成绩矩阵

–科目成绩 A B C D E
学生1 1 2 3 4 5
学生2 2 3 4 5 6
学生3 3 4 5 6 7
/以上代碼的运算原理:先找出3名学生每个人的最高成绩(分别为5,6,7)
	然后将每个人的最高成绩相互进行比较 找出所有科目中的最高成绩。

主函数部分

int main(){
		int a[10][5];
		int i,j;
		for(i=0;i<10;i++){
				printf("第%d个同学的成绩:",i+1); 
			for(j=0;j<5;j++){
		scanf("%d",&a[i][j]);}}//**输入时数字之间用空格分隔**
		printf("\n");
	xpj(a);printf("\n");
	kpj(a);printf("\n");
	maxj(a); printf("\n");//输出空格可去掉,这样只是为了输出结果美观
	return 0;
}

例如,3X5的成绩矩阵

–科目成绩 A B C D E
学生1 1 2 3 4 5
学生2 2 3 4 5 6
学生3 3 4 5 6 7

每个数值之间以空格相分隔(空格个数没具体要求)

最终输出结果如下:

C语言习题:输入10个学生5门课的成绩,分别用函数求:①每个学生平均分;②每门课的平均分;③找出所有分数中最高分_第1张图片

参考链接:https://blog.csdn.net/navicheung/article/details/78094252

这位大神的代碼贼溜,不过对于我这样的初学者看懂有点还需要点时间

https://www.zybang.com/question/8203117a28219c0c59298ed03e2af013.html

你可能感兴趣的:(C语言系列,编程语言)