C++编程练习12--排名次

问题:

输入五名大学生4门功课的成绩,然后求出
每个大学生的总分
每门课程的平均分
输出总分最高的学生的姓名和总分数

#include<bits/stdc++.h>
using namespace std;
struct node{
	char name[10];
	int scorea,scoreb,scorec,scored;
}a[5];//加sum[5]就会报错,node跟int类型不匹配
 
int main(){
	for(int i=0;i<5;i++){
		cin>>a[i].name>>a[i].scorea>>a[i].scoreb>>a[i].scorec>>a[i].scored;
	}
	int sum[5]={0,0,0,0,0};
	for(int i=0;i<5;i++){
		sum[i]=a[i].scorea+a[i].scoreb+a[i].scorec+a[i].scored;
	}
	cout<<"每个大学生的总分依次为:";
	for(int i=0;i<5;i++){
		cout<<sum[i]<<" ";
	} 
	cout<<endl;
	
	//每门课程的平均分
	int sa=0,sb=0,sc=0,sd=0;
	for(int i=0;i<5;i++){
		sa+=a[i].scorea;
		sb+=a[i].scoreb;
		sc+=a[i].scorec;
		sd+=a[i].scored;
	} 
	cout<<"每门课程的平均分依次为:";
	cout<<sa/5<<" "<<sb/5<<" "<<sc/5<<" "<<sd/5<<endl;
	
	int max=-1;
	int t;
	for(int i=0;i<5;i++){
		if(sum[i]>max){
			max=sum[i];
			t=i;
		}
	} 
	cout<<"总分最高的学生的姓名和总分为:";
	cout<<a[t].name<<" "<<sum[t]<<endl;
	return 0;
} 

总结

运行是没有问题的,但是如果把sum[5]放入到结构体那块去写,就会报错,什么node和int不匹配,明天再练上几道结构体看看吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值