1、从键盘上输入4个学生3门功课的成绩(用二维数组存放)和学生姓名(用一维数组存放),按下列要求编程:
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/13 14:22:09
1、从键盘上输入4个学生3门功课的成绩(用二维数组存放)和学生姓名(用一维数组存放),按下列要求编程:
①求出每个学生的总分;②求出每门课程的平均分;③调用函数实现排序,之后按总分的升序,分别输出每个学生的姓名、总分及各科成绩
麻烦写一下该编程题 谢谢!
①求出每个学生的总分;②求出每门课程的平均分;③调用函数实现排序,之后按总分的升序,分别输出每个学生的姓名、总分及各科成绩
麻烦写一下该编程题 谢谢!
题:
#include<iostream>
using namespace std;
int main()
{
double s1[2][3];
double s2[3][2];
int i,j;
for( i=0;i<2;i++)
for( j=0;j<3;j++)
{
cin>>s1[i][j];
s2[j][i]=s1[i][j];
}
cout<<"s1中各元素:"<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
cout<<s1[i][j]<<" ";
cout<<endl;
}
cout<<"s2中各元素:"<<endl;
for( i=0;i<3;i++)
{
for( j=0;j<2;j++)
cout<<s2[i][j]<<" ";
cout<<endl;
}
return 0;
}
2题:
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
string name;
double grade[3];
double total ;
friend ostream& operator<<(ostream&,Student &);
friend istream& operator>>(istream&,Student &);
};
int main()
{
Student s[4];
double average[3];
int i,j;
for(i=0;i<4;i++)
{
cout<<"请依次输入第"<<i+1<<"个学生的:姓名+三门功课成绩"<<endl;
cin>>s[i];
s[i].total=s[i].grade[0]+s[i].grade[1]+s[i].grade[2];
}
cout<<endl;
for( i=0;i<3;i++)
{
average[i]=(s[0].grade[i]+s[1].grade[i]+s[2].grade[i]+s[3].grade[i])/4;
cout<<"第"<<i+1<<"门课程成绩的平均分是:"<<average[i]<<endl;
}
double b[2][4];
for( i=0;i<4;i++)
{
b[0][i]=i;
b[1][i]=s[i].total;
}
int c;
double d;
for( i=0;i<3;i++)
for( j=i+1;j<4;j++)
if(b[1][j]>b[1][i])
{
c=b[0][i];
d=b[1][i];
b[0][i]=b[0][j];
b[1][i]=b[1][j];
b[0][j]=c;
b[1][j]=d;
}
cout<<endl<<"按总成绩排列输出为:"<<endl<<endl;
for(i=0;i<4;i++)
cout<<s[int(b[0][i])]<<endl;
return 0;
}
ostream& operator<<(ostream &output,Student &a)
{
output<<a.name<<"的三门功课成绩为:"<<endl;
for(int i=0;i<3;i++)
output<<a.grade[i]<<endl;
output<<"总成绩为:"<<a.total<<endl;
return output;
}
istream& operator>>(istream &input,Student &a)
{
input>>a.name;
for(int i=0;i<3;i++)
input>>a.grade[i];
return input;
}
#include<iostream>
using namespace std;
int main()
{
double s1[2][3];
double s2[3][2];
int i,j;
for( i=0;i<2;i++)
for( j=0;j<3;j++)
{
cin>>s1[i][j];
s2[j][i]=s1[i][j];
}
cout<<"s1中各元素:"<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
cout<<s1[i][j]<<" ";
cout<<endl;
}
cout<<"s2中各元素:"<<endl;
for( i=0;i<3;i++)
{
for( j=0;j<2;j++)
cout<<s2[i][j]<<" ";
cout<<endl;
}
return 0;
}
2题:
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
string name;
double grade[3];
double total ;
friend ostream& operator<<(ostream&,Student &);
friend istream& operator>>(istream&,Student &);
};
int main()
{
Student s[4];
double average[3];
int i,j;
for(i=0;i<4;i++)
{
cout<<"请依次输入第"<<i+1<<"个学生的:姓名+三门功课成绩"<<endl;
cin>>s[i];
s[i].total=s[i].grade[0]+s[i].grade[1]+s[i].grade[2];
}
cout<<endl;
for( i=0;i<3;i++)
{
average[i]=(s[0].grade[i]+s[1].grade[i]+s[2].grade[i]+s[3].grade[i])/4;
cout<<"第"<<i+1<<"门课程成绩的平均分是:"<<average[i]<<endl;
}
double b[2][4];
for( i=0;i<4;i++)
{
b[0][i]=i;
b[1][i]=s[i].total;
}
int c;
double d;
for( i=0;i<3;i++)
for( j=i+1;j<4;j++)
if(b[1][j]>b[1][i])
{
c=b[0][i];
d=b[1][i];
b[0][i]=b[0][j];
b[1][i]=b[1][j];
b[0][j]=c;
b[1][j]=d;
}
cout<<endl<<"按总成绩排列输出为:"<<endl<<endl;
for(i=0;i<4;i++)
cout<<s[int(b[0][i])]<<endl;
return 0;
}
ostream& operator<<(ostream &output,Student &a)
{
output<<a.name<<"的三门功课成绩为:"<<endl;
for(int i=0;i<3;i++)
output<<a.grade[i]<<endl;
output<<"总成绩为:"<<a.total<<endl;
return output;
}
istream& operator>>(istream &input,Student &a)
{
input>>a.name;
for(int i=0;i<3;i++)
input>>a.grade[i];
return input;
}
1、从键盘上输入4个学生3门功课的成绩(用二维数组存放)和学生姓名(用一维数组存放),按下列要求编程:
(1)定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩; (2)从键盘输入10个学生的以上内容
求C语言程序:创建二维数组 输入5个学生的四门课成绩 编程计算每个学生的总分和每门课的平均分~
C语言编程求助!(关于数组)“输入5个学生的3门课程成绩,输出5个学生中的最高平均分”.
( c语言)定义一个2维数组,从键盘输入的10个学生4门功课成绩,输出每门功课中的最大值、最小值、平均值
用二维数组做:输入n个学生的数学,英语成绩,然后统计每门课程的总成绩,平均分,最高分和最低分,最后输
一个班有45人,用a数组存放一门课的成绩,编程输入a的成绩,统计不及格(
C 语言 一维整形数组将数组元素逆序存放并把交换后的数组输出 要求数组元素的输入,交换和输出分别用函数
几道VB题1编程题:.从键盘上输入20个数放入一个一维数组中,并输入数组各元素的值,然后将数组中20个元素的最大值和最小
定义一个含有10个元素的一维数组. 要求:1)用for循环给个元素输入整数. 2)求出该数组中存放的最小整数
从键盘上输入一个字符串存放在一个字符数组中,按以下规则加密:所有的大写英文字母加3,小写英文字母减4,其他字符不变,将加
VB利用随机函数产生30个[3,99]整数,打印输出其中的素数(要求用数组存放)