| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1765 人关注过本帖
标题:结构体为什么求不出总分?
只看楼主 加入收藏
fengyinxqy
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2020-5-2
结帖率:92.31%
收藏
已结贴  问题点数:10 回复次数:4 
结构体为什么求不出总分?
输入5名学生的学号、姓名和3门课程(programming、 database、 network)的成绩,存入一个结构体数组中。编写sumScore函数,其功能是计算学生3门课的总成绩,并存入结构体数组中。在主函数中输入学生信息,调用 sumScore函数,并输出学生的学号、姓名和总成绩信息。
下面是我目前写出来的代码、
程序代码:
#include <stdio.h>
struct courses
{
    int programming;
    int database;
    int network;
    double score;
};
struct student /*学生信息结构定义*/
{
    int num;       /*学号*/
    char name[10]; /*姓名*/
    int sum;       /*总分*/
    struct courses sc[3];
};
int sumScore(struct student students[]);
int main()
{
    struct student students[5];
    int i;
    for (i = 0; i < 3; i++)
    {
            printf("num:");
            scanf("%d",&students[i].num);
            printf("name:");
            scanf("%s",students[i].name);
            printf("programming score:");
            scanf("%d",&students[i].sc[0].programming);
            printf("network score:");
            scanf("%d",&students[i].sc[1].network);
            printf("database score:");
            scanf("%d",&students[i].sc[2].database);
    }
    sumScore(students);
    printf("num\tname\tsum\n");
    for (i = 0; i < 3; i++)
    {
        printf("%d\t%s\t%d\n",students[i].num,students[i].name,students[i].sum);
    }
    return 0;
}
int sumScore(struct student *students)
{
    int i;
    for (i = 0; i < 3; i++)
    {
            students[i].sum=students[i].sc[0].database+students[i].sc[1].network+students[i].sc[2].programming;
    }
}
搜索更多相关主题的帖子: scanf int network struct printf 
2020-05-29 19:23
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:5 
struct courses sc[3];
是每个学生有3组3门课(programming、database、network)
students[i].sum=students[i].sc[0].database+students[i].sc[1].network+students[i].sc[2].programming;
sum = 1组的database + 2组的network + 3组的programming
代码好像没问题,只是sc[3](3组相同的3门课)和sum的算法不好理解。
2020-05-29 20:46
fulltimelink
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:171
专家分:752
注 册:2020-4-1
收藏
得分:5 
sc赋值时和求和时不是同一个,sc0赋值是programming求和时用的database,求和时用到的都未初始化
course结构体这样设计的目的是啥,score好像没用上
2020-05-30 15:09
西瓜瓤
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2022-5-28
收藏
得分:0 
你这好像是地址相加总和不是总分
2022-05-28 22:21
西瓜瓤
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2022-5-28
收藏
得分:0 
回复 4楼 西瓜瓤
students[i].sum=students[i].sc[0].programming+students[i].sc[1].network+students[i].sc[2].database;这个地方错了;数组的标号错了;那你顺序错了标号纠错
2022-05-28 22:29
快速回复:结构体为什么求不出总分?
数据加载中...
 
   



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

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