注册 登录
编程论坛 C++教室

请问哪里错了?输出结果不一样

a84607981 发布于 2008-09-20 20:27, 630 次点击
#include<iostream.h>
struct digital
{int no;
};
struct element
{int count;
digital stu[100];
};
void initlist(element *p)
{p->count=0;
for(int i=0;i<100;i++)
{p->stu[i].no=0;}
}
void insertlist(element *p,int nu)
{p->stu[p->count].no=nu;
p->count++;
}
void sumall(element e) /求全部数据元素之和/
{int x=0;
for(int i=0;i<=e.count;i++)
{x=x+e.stu[x].no;}
cout<<x<<endl;
}
void averageall(element e)/求所有元素的和的平均值/
{int x=0,y;
for(int i=0;i<e.count;i++)
{x=x+e.stu[x].no;}
y=x/e.count;
cout<<y<<endl;
}
void main()
{element ee;
initlist(&ee);
insertlist(&ee,2);
insertlist(&ee,4);
insertlist(&ee,6);
insertlist(&ee,8);
insertlist(&ee,10);
sumall(ee);
averageall(ee);}
输出结果和预想的不一样
2 回复
#2
守鹤2008-09-21 00:52
void insertlist(element *p,int nu)
{p->stu[p->count].no=nu;          //这里出的问题
p->count++;
}
count不是结构体element中的成员,要对stu中的每个成员赋值,
void insertlist(element *p,int nu)
{count=0;
while(count<=100)
p->stu[count].no=nu;
count++;
}
#3
kevin882008-10-11 19:02
不知你想输出什么,不过你的注释出了问题,所以编译不能通过,
PS:注释方法有://和/*comments*/
注意要在英文输入状态下!
1