学生有三门课程:A、B、C,3名学生的成绩,要求用结构体输出三个学生平均值等,下面代码哪里错了

2025-03-10 08:21:28
推荐回答(2个)
回答1:

代码的关键错误是下面两个for语句后面都多加了一个分号,错误如下注释:

for(i=0;i<=n-1;i++);//多加了一个分号
    s[i].aver=(s[i].a+s[i].b+s[i].c)%3;//平均值计算应该是除以3即s[i].aver=(s[i].a+s[i].b+s[i].c)/3.0; 除以3.0是为了将aver的结果转换为float
for(i=0;i<=n-1;i++);//多加了一个分号
    cout<<"姓名:"<

回答2:

s[i].aver=(s[i].a+s[i].b+s[i].c)%3; 这个地方出错

应该是s[i].aver=(s[i].a+s[i].b+s[i].c) * 1.0 / 3;

乘以1.0的作用是转换成float类型,因为a、b、c都是int类型!