请问这个程序错在哪?谢谢

woxiaoe 2008-03-20 10:23:07
#include<iostream>
using namespace std;
void main()
{const int student=3;
const int course=6;
int i,j,chenji[student][course]={0};
float aver[student]={0};
for(i=0;i<student;i++)
{for(j=0;j<course-1;j++)
cin>>chenji[i][j];} //enter score
for (i=0;i<student;i++)
for (j=0;j<course-1;j++)
chenji[i][course]=chenji[i][course]+chenji[i][j]; //总分

for (j=0;j<course;j++)
{ for(i=0;i<student;i++)
aver[j]=aver[j]+chenji[i][j];//平均分
aver[j]=aver[j]/student;
}
for (i=0;i<student;i++)
for (j=0;j<course;j++)
cout<<chenji[i][j];
for (i=0;i<student;j++)
cout<<aver[j];



}
...全文
54 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lynn_Ran 2008-03-20
  • 打赏
  • 举报
回复
请lz写程序的时候多写一些用户提示


#include <iostream>
using namespace std;

int main()
{
const int student = 3;
const int course = 6;
int i, j, chenji[student][course] = {0};
float aver[course] = {0}; //<====你要明白你要用他存什么

for ( i=0; i<student; i++ )
{
cout << "NO.1 Student:" ;
for ( j=0; j<course-1; j++ )
cin >> chenji[i][j];
} //enter score

for ( i=0; i<student; i++)
for ( j=0; j<course-1; j++ )
chenji[i][course-1] = chenji[i][course-1] + chenji[i][j]; //每位同学总分 (注意数组下标越界的问题)
for ( j=0; j<course; j++ )
{
for ( i=0; i<student; i++ )
aver[j] = aver[j] + chenji[i][j];//每科平均分,及全部的平均分
aver[j] = aver[j]/student;
}

cout << "每位同学的成绩为:" << endl;
for ( i=0; i<student; i++ )
{
cout << "NO.1 Student:" ;
for ( j=0; j<course; j++)
cout << chenji[i][j] << " ";
cout << endl;
}
system("pause");
cout << "每科平均分,及全部的平均分为:" ;
for ( j=0; j<course; j++ )
cout << aver[j] << " ";
cout << endl;
system("pause");
return 0;
}
星羽 2008-03-20
  • 打赏
  • 举报
回复


#include <iostream>
using namespace std;

void main()
{
const int student=3;
const int course=6;
int i,j,chenji[student][course]={0};
float aver[course]={0};

//enter score
for(i=0;i <student;i++)
{
for(j=0;j <course-1;j++)
cin>>chenji[i][j];

}

for (i=0;i <student;i++)
for (j=0;j <course-1;j++)
chenji[i][course - 1]=chenji[i][course - 1]+chenji[i][j]; //总分

for (j=0;j <course;j++)
{
for(i=0;i <student;i++)
aver[j]=aver[j]+chenji[i][j];//平均分
aver[j]=aver[j]/student;
}

for (i=0;i <student;i++)
{
for (j=0;j <course;j++)
cout <<chenji[i][j]<<"\t";
cout<<endl;
}

cout<<endl;

for (i=0;i <student;i++)
cout <<aver[i]<<"\t";

}

Maxwell 2008-03-20
  • 打赏
  • 举报
回复
for (j=0;j <course;j++)
{ for(i=0;i <student;i++)
aver[j]=aver[j]+chenji[i][j];//平均分
aver[j]=aver[j]/student;
}

从你aver的定义看,好像内外循环的变量写反了吧?外层应该是student。
IT_lau 2008-03-20
  • 打赏
  • 举报
回复
const student就不能改变了

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧