一维数组由排列在一行中的所有元素组成,它只有一个索引。因此从概念上讲,二维数组就像一个具有行和列的表格一样。例如:double a[3][3];可以看成是一个有3行3列的表组成。
二维数组的初始化:
1、给二维数组赋初值。如下例所示:
int myArray [4][2]={{1, 2}, {3, 4}, {5, 6}, {7, 8}};<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
它按行赋初值,例如:第一行的myArrary[0][0]=1;myArrary[0][1]=2;如此类推。
2若int myArray [4][2]={{1}, {3}, {5, 6}, {7, 8}};,则myArrary[0][0]=1;myArrary[0][1]=0;即没有初始化的可看作初始化为0。
接着老师布置了我们一个作业,题目是有5为学生,每位学生有4们科目成绩。让你用二维数组给每门科目的成绩赋值,而且计算出每位同学的总成绩、平均成绩,以及所有科目的总成绩.
我做的作业还没有进行排版,不是很完美,呵呵!
#include <iostream>
#include <iomanip>
#include <cmath>
#include <string>
using namespace std;
class student{
private:
string a[5];
string studentname[5];
double studentshuzu[5][4];
double everysums[5];
public:
student(){
for(int i=0;i<5;i++){
cout<<"第"<<i+1<<"位学生的姓名:";
cin>>studentname[i];
for(int j=0;j<4;j++){
cout<<"第"<<i+1<<"行"<<","<<"第"<<j+1<<"科目成绩:"<<endl;
cin>>studentshuzu[i][j];}}}
void everychengji(){
double everysum[5]={0,0,0,0,0};
for(int i=0;i<5;i++){
cout<<"第"<<i+1<<"位学生的总成绩:"<<endl;
for(int j=0;j<4;j++){
everysum[i]=everysum[i]+studentshuzu[i][j];}
cout<<everysum[i]<<endl;}
for(int a=0;a<5;a++){
everysums[a]=everysum[a];}
}
void everyaverage(){
double average[5];
for(int i=0;i<5;i++){
cout<<"第"<<i+1<<"位学生的平均成绩:"<<endl;
average[i]=everysums[i]/4;
cout<<average[i]<<endl;}
}
double zongsum(){
double sum=0;
cout<<"总成绩为:"<<endl;
for(int i=0;i<5;i++){
sum=sum+everysums[i];}
return sum;}
};
#include <iomanip>
#include <cmath>
#include <string>
using namespace std;
class student{
private:
string a[5];
string studentname[5];
double studentshuzu[5][4];
double everysums[5];
public:
student(){
for(int i=0;i<5;i++){
cout<<"第"<<i+1<<"位学生的姓名:";
cin>>studentname[i];
for(int j=0;j<4;j++){
cout<<"第"<<i+1<<"行"<<","<<"第"<<j+1<<"科目成绩:"<<endl;
cin>>studentshuzu[i][j];}}}
void everychengji(){
double everysum[5]={0,0,0,0,0};
for(int i=0;i<5;i++){
cout<<"第"<<i+1<<"位学生的总成绩:"<<endl;
for(int j=0;j<4;j++){
everysum[i]=everysum[i]+studentshuzu[i][j];}
cout<<everysum[i]<<endl;}
for(int a=0;a<5;a++){
everysums[a]=everysum[a];}
}
void everyaverage(){
double average[5];
for(int i=0;i<5;i++){
cout<<"第"<<i+1<<"位学生的平均成绩:"<<endl;
average[i]=everysums[i]/4;
cout<<average[i]<<endl;}
}
double zongsum(){
double sum=0;
cout<<"总成绩为:"<<endl;
for(int i=0;i<5;i++){
sum=sum+everysums[i];}
return sum;}
};
#include "d.h"
#include <iostream>
#include <iomanip>
#include <cmath>
#include <string>
using namespace std;
int main(){
student s;
s.everychengji();
s.everyaverage();
cout<<s.zongsum();
return 0;}
#include <iostream>
#include <iomanip>
#include <cmath>
#include <string>
using namespace std;
int main(){
student s;
s.everychengji();
s.everyaverage();
cout<<s.zongsum();
return 0;}
这就是我二维数组的小试牛刀了,呵呵!
转载于:https://blog.51cto.com/songzhicheng/305726