/*通过键盘输入3名学生4门课程的成绩,分别求每个学生的平均成绩和每门课程的平均成绩.*/

/*要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车  
其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/
#include<stdio.h>
void main()
{
	float a[4][5],sum1,sum2;
	int i,j;
	for(i=0;i<3;i++)
		for(j=0;j<4;j++)
			scanf("%f",&a[i][j]);
	for(i=0;i<3;i++)
	{
		sum1=0;
		for(j=0;j<4;j++)
		{
			sum1+=a[i][j];
		}
		a[i][4]=sum1/4;
	}
	for(j=0;j<5;j++)
	{
		sum2=0;
		for(i=0;i<3;i++)
		{
			sum2+=a[i][j];
		}
		a[3][j]=sum2/3;
	}
	for(i=0;i<4;i++)
	{
		for(j=0;j<5;j++)
		{
			printf("%6.2f",a[i][j]);
		}
		printf("\n");
	}
	
}

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是一个Python的示例代码: ```python # 定义学生列表和成绩列表 students = [] scores = [] # 从键盘输入5个学生成绩 for i in range(5): student = input("请输入第{}个学生的姓名:".format(i+1)) math = float(input("请输入{}的数学成绩:".format(student))) english = float(input("请输入{}的英语成绩:".format(student))) computer = float(input("请输入{}的计算机成绩:".format(student))) # 将学生姓名和成绩加入列表 students.append(student) scores.append([math, english, computer]) # 计算每个学生平均成绩 averages = [] for i in range(5): average = sum(scores[i]) / 3 averages.append(average) # 将学生列表、成绩列表和平均成绩列表合并为一个元组列表 data = list(zip(students, scores, averages)) # 按平均成绩从高到低排序 data.sort(key=lambda x: x[2], reverse=True) # 输出每个学生课程成绩平均成绩 for student, score, average in data: print("{}的数学成绩为{},英语成绩为{},计算机成绩为{},平均成绩为{}".format(student, score[0], score[1], score[2], average)) ``` 示例输出: ``` 请输入第1个学生的姓名:Alice 请输入Alice的数学成绩:85 请输入Alice的英语成绩:90 请输入Alice的计算机成绩:80 请输入第2个学生的姓名:Bob 请输入Bob的数学成绩:70 请输入Bob的英语成绩:75 请输入Bob的计算机成绩:80 请输入第3个学生的姓名:Charlie 请输入Charlie的数学成绩:90 请输入Charlie的英语成绩:85 请输入Charlie的计算机成绩:95 请输入第4个学生的姓名:David 请输入David的数学成绩:80 请输入David的英语成绩:70 请输入David的计算机成绩:75 请输入第5个学生的姓名:Eve 请输入Eve的数学成绩:95 请输入Eve的英语成绩:95 请输入Eve的计算机成绩:100 Eve的数学成绩为95.0,英语成绩为95.0,计算机成绩为100.0,平均成绩为96.66666666666667 Charlie的数学成绩为90.0,英语成绩为85.0,计算机成绩为95.0,平均成绩为90.0 Alice的数学成绩为85.0,英语成绩为90.0,计算机成绩为80.0,平均成绩为85.0 David的数学成绩为80.0,英语成绩为70.0,计算机成绩为75.0,平均成绩为75.0 Bob的数学成绩为70.0,英语成绩为75.0,计算机成绩为80.0,平均成绩为75.0 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁静致远+

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值