1481 - 《C语言程序设计》江宝钏主编-习题7-2-5科总分

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入10个学生的学号和5门课程的成绩,统计输出5门课总分最高和最低的学生的学号和他们的总分。

题目输入

每行6个整数,共10行。

其中,每行第一个整数表示学生的学号,剩下的5个数表示他5门课程的成绩。

题目输出

两行,每行两个整数。

其中第一行为总分最高的学生的学号,和他的总分,用空格隔开。

第二行为总分最低的学生的学号,和他的总分,用空格隔开。

输入/输出样例

输入格式

99211201 1 2 3 4 5
99211207 2 2 3 4 5
99211217 3 2 3 4 5
99211227 4 2 3 4 5
99211231 5 2 3 4 5
99211232 6 2 3 4 5
99211233 7 2 3 4 5
99211235 8 2 3 4 5
99211236 9 2 3 4 5
99211237 10 2 3 4 5

输出格式

99211237 24
99211201 15

C语言解答

#include <stdio.h>
int main(void)
{
	int a[10][6],i,j,min[2],max[2],sum;
	for (i=0;i<10;i++)
	{
		for (j=0;j<6;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	for (i=0;i<10;i++)
	{
		sum=0;
		for (j=1;j<6;j++)
		{
			sum+=a[i][j];
		}
		if (sum>max[1])
		{
			max[0]=a[i][0];
			max[1]=sum;
		}
		if (sum<min[1])
		{
			min[0]=a[i][0];
			min[1]=sum;
		}
	}	
	printf("%d %d\n%d %d",max[0],max[1],min[0],min[1]);	
	return 0;
}

C++解答

#include<iostream>
using namespace std;
int main()
{
	int a[11][7]={0};
	for (int i=1; i<=10; i++)
	{
		cin>>a[i][1];
		for (int j=2; j<=6; j++)
			{ cin>>a[i][j]; a[i][0]+=a[i][j]; }
	}
	int max=a[1][7],pmax=1,min=a[1][7],pmin=1;
	for (int i=2; i<=10; i++)
		if (max<a[i][0]) { max=a[i][0]; pmax=i; }
		else if (min>a[i][0]) { min=a[i][0]; pmin=i; }
	cout<<a[pmax][1]<<" "<<a[pmax][0]<<endl;
	cout<<a[pmin][1]<<" "<<a[pmin][0]<<endl;
	return 0;
}