标题:[求助]这个程序怎么样才能average=三个score相加的平均值
只看楼主
autumnluo
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-12-7
 问题点数:0 回复次数:4 
[求助]这个程序怎么样才能average=三个score相加的平均值

#include<iostream.h>
#include<stdio.h>

struct student
{
int num;
char name[20];
float score[3];
float average[1];
};
void main()
{

student stud[1];
for(int i=0;i<1;i++)

{ cout<<"please enter the number:";
cin>>stud[i].num;
cout<<"please enter the name:";
cin>>stud[i].name;
for(int j=0;j<3;j++)
{cout<<"please enter the score:";
cin>>stud[i].score[j];}
stud[i].average[i]=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3;}
printf("name=%s\tscore=%f",stud[i].name,stud[i].score);
printf("average=%.1f",stud[i].average[i]);

}


这一段好像没有运算,怎么回事?stud[i].average[i]=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3;}

搜索更多相关主题的帖子: score average 平均值 相加 
2006-03-28 09:07
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
得分:0 

#include<iostream.h>
#include<stdio.h>

struct student
{
int num;
char name[20];
float score[3];
float average[1];
};
void main()
{

student stud[1];
for(int i=0;i<1;i++)

{ cout<<"please enter the number:";
cin>>stud[i].num;
cout<<"please enter the name:";
cin>>stud[i].name;
for(int j=0;j<3;j++)
{cout<<"please enter the score:";
cin>>stud[i].score[j];}
stud[i].average[i]=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3;} //最后面的"}"
printf("name=%s\tscore=%f",stud[i].name,stud[i].score);
printf("average=%.1f",stud[i].average[i]);
//应该放在这里
}

[此贴子已经被作者于2006-3-28 13:05:05编辑过]


有实力才会有魅力 实力来自坚持不懈的努力
2006-03-28 12:39
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
得分:0 
for(int i=0;i<1;i++)结束后i就是1了,而不是0。
所以
printf("name=%s\tscore=%f",stud[i].name,stud[i].score);
printf("average=%.1f",stud[i].average[i]);
都是在print stud[1],没有crash已经是幸运了。

http://myajax95./
2006-03-28 13:01
crazyrabbit
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:150
专家分:0
注 册:2006-3-15
得分:0 

#include<iostream.h>
#include<stdio.h>

struct student
{
int num;
char name[20];
float score[3];
float average[1];
};
void main()
{

student stud[1];
for(int i=0;i<1;i++)

{
cout<<"please enter the number:";
cin>>stud[i].num;
cout<<"please enter the name:";
cin>>stud[i].name;
for(int j=0;j<3;j++)
{
cout<<"please enter the score:";
cin>>stud[i].score[j];
}
stud[i].average[i]=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3;
}
printf("name=%s\t\nscore=%f\n",stud[0].name,stud[0].score);
printf("average=%.1f",stud[0].average[0]);

}

你的最后输出的时候有错误,此时的i=3了,你又用
printf("name=%s\t\nscore=%f\n",stud[i].name,stud[i].score);
printf("average=%.1f",stud[i].average[i]);
输出,怎么也不可能得到输出的数呀,


http://www./bbs/boke.asp?crazyrabbit.index.html 欢迎大家来此讨论问题!
2006-03-28 13:08
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
得分:0 
楼上的和我的回答实际是一样的.

呵呵~

有实力才会有魅力 实力来自坚持不懈的努力
2006-03-28 13:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-53308-1-1.html




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

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