| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 771 人关注过本帖
标题:[求助]学生成绩统计应用程序,不知那里错了!
只看楼主 加入收藏
林中剑影
Rank: 1
来 自:广州
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-11-3
收藏
 问题点数:0 回复次数:7 
[求助]学生成绩统计应用程序,不知那里错了!
(学生成绩统计应用程序)一位教师公布了一个班的10个学生的三次考试的成绩。这些成绩的值都是从0至100的整型数。需开发一种程序记录每个学生的成绩,平均成绩,以及全班的平均成绩。这个程序允许用户输入每个学生的三次成绩,然后计算出每个学生的平均成绩和全班的平均成绩。如果用户的输入值是非法的,程序应该显示一个出错信息提示用户重新输入成绩。(提示:可用二维数组)
下面是我做的,可以输入数据,但就是求不了平均值,大家帮看看啊!怎么会没效果呢
#include<iostream.h>
int i,j;
int avg(int a[][3],int result[],int rows){
result[i]=0;
for(j=0;j<rows;j++)result[i]+=a[i][j];
return result[i]=result[i]/3;
}
void main(){
int data[10][3];
cout<<"请输入每个学生的三次成绩"<<endl;
for(i=0;i<10;i++){
for(j=0;j<3;j++){
cin>>data[i][j];
if(data[i][j]>100 && data[i][j]<0)
cout<<"输入值非法,请重输";
//return;
}
cout<<endl;
}
int s[10],k,allavg;
avg(data,s,10);
for(i=0;i<10;i++){
cout<<s[i]<<endl;
k+=s[i];
}
allavg=k/10;
cout<<allavg;
}
搜索更多相关主题的帖子: 应用程序 学生 统计 
2007-11-17 18:51
林中剑影
Rank: 1
来 自:广州
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-11-3
收藏
得分:0 

大家帮帮忙啊!


好好学习,天天向上!
2007-11-17 21:29
duccdd
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-10-25
收藏
得分:0 
int avg(int a[][3],int result[],int rows){
result[i]=0;
for(j=0;j<rows;j++)result[i]+=a[i][j];
return result[i]=result[i]/3;
}
全错了
帮你写个
void avg( int a[][3], int result[], int rows )
{
for( i = 0; i < rows ; i++ ) {
for( j = 0; j < 3; j++ ) {
result[i] += a[i][j];
}
result[i] /= 3;
}
}
2007-11-17 22:06
林中剑影
Rank: 1
来 自:广州
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-11-3
收藏
得分:0 
还是没有效果啊,下面是运行的结果:
图片附件: 游客没有浏览图片的权限,请 登录注册


好好学习,天天向上!
2007-11-17 22:17
liujianlin
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-11-11
收藏
得分:0 
回复:(林中剑影)[求助]学生成绩统计应用程序,不知...

我也是初学者,不知改的对吗??
#include<iostream.h>
int data[10][3];
int sum=0;
int avg(int i)
{

int result=0;
for(int j=0;j<3;j++)
result+=data[i][j];
return result=result/3;
}
void main()
{

cout<<"请输入每个学生的三次成绩"<<endl;
for(int i=0;i<10;i++)
{
for(int j=0;j<3;j++)
{
cin>>data[i][j];
if(data[i][j]>100 && data[i][j]<0)
cout<<"输入值非法,请重输";
//return;
}
cout<<endl;
}

for(int b=0;b<10;b++)
{
int temp=avg(b);
cout<<temp<<endl;
sum=sum+temp;
}
int allavg=sum/10;
cout<<allavg;
}


小学文花,要学编程的话,最起码不喝不吃不睡才能赶上啊!
2007-11-18 01:01
eagleboycn
Rank: 1
等 级:新手上路
帖 子:191
专家分:0
注 册:2007-9-26
收藏
得分:0 
k没有初值吧?
还有avg()要传回数组,可以这么写吗?

兵法的精要在于韬晦自己
2007-11-18 06:11
duccdd
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-10-25
收藏
得分:0 
以下是引用duccdd在2007-11-17 22:06:31的发言:
int avg(int a[][3],int result[],int rows){
result[i]=0;
for(j=0;j<rows;j++)result[i]+=a[i][j];
return result[i]=result[i]/3;
}
全错了
帮你写个
void avg( int a[][3], int result[], int rows )
{
for( i = 0; i < rows ; i++ ) {
for( j = 0; j < 3; j++ ) {
result[i] += a[i][j];
}
result[i] /= 3;
}
}

int s[10]={0},k=0,allavg=0;就没问题了
应该养成初始化的习惯

2007-11-18 07:48
林中剑影
Rank: 1
来 自:广州
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-11-3
收藏
得分:0 

谢谢大家了!其中"liujianlin"朋友的思路虽然不是和我的一样,但结果却是一样哦,嘻嘻!你的程序看起来简单多了,很有研究哦。"duccdd"朋友说的没错,一定要养成初始化的习惯!


好好学习,天天向上!
2007-11-18 12:29
快速回复:[求助]学生成绩统计应用程序,不知那里错了!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020725 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved