c语言数组间关系问题

img


定义的几个数组,怎么让他们满足这样的关系,能够保证程序的正常运行不报错误呢

img

不理解,为什么你要把分数定义成 char,用 int 或者 float 不好么?
如果非要这么定义,你可以用 atoi 先将字符串转换为整数,然后计算,再用 itoa 将整数转换成字符串

换个数据类型

ElemType elt;
elt.fenshu=elt.ks*0.7+elt.ps*0.1+elt.sy*0.2

不需要数组,供参考:

#include <stdio.h>
typedef struct {
    char  num[12];
    char  name[20];
    float ps;    //平时分数
    float sy;    //实验分数
    float ks;    //期考分数
    float fenshu;//最终期评分数
}ElemType;
ElemType stu[10];
int main()
{
    int i;
    for (i = 0; i < 10; i++) // 输入10个学生相应信息,计算最终期评分数
    {
        scanf("%s %s %f %f %f", stu[i].num, stu[i].name, &stu[i].ps, &stu[i].sy, &stu[i].ks);
        stu[i].fenshu = stu[i].ks * 0.7 + stu[i].ps * 0.1 + stu[i].sy * 0.2;
    }
    return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^