标题:问题又一波来袭,关于结构体,求助!!
只看楼主
庄子小五
Rank: 1
等 级:新手上路
帖 子:26
专家分:4
注 册:2016-10-23
结帖率:50%
已结贴  问题点数:10 回复次数:6 
问题又一波来袭,关于结构体,求助!!
这是我编写的东西,就是输入三个人的名字和两科成绩,然后比较把成绩和最大的名字输出,可是一直不能编译,为什么呢?求教各位大佬~~



#include <stdio.h>
#define NAMESIZE 20

struct studnet
{
char name[NAMESIZE];
int score1;
int score2;
int sum;
}stu[3];

int mian()
{
    int i,j,max=0;
    for(i=0;i<3;i++)
    {
        stu[i].sum=0;
        scanf("%s",stu[i].name);
        scanf("%d,%d",&stu[i].score1,&stu[i].score2);
        stu[i].sum=stu[i].score1+stu[i].score2;

}
    for(i=0;i<3;i++)
    {
        if(stu[i].sum>stu[i+1].sum)
            j=i;
        else j=i+1;
        if(stu[j].sum>stu[i+2].sum)
            j=j;
        else j=j+2;
    }
    printf("%s",stu[j].name);
    return 0;
}
搜索更多相关主题的帖子: include 结构体 最大的 
2016-12-10 21:14
yangwawa
Rank: 2
等 级:论坛游民
威 望:3
帖 子:15
专家分:67
注 册:2016-11-26
得分:3 
主函数 main 写成 mian了
2016-12-10 23:24
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:3 
   for(i=0;i<3;i++)
     {
         if(stu[i].sum>stu[i+1].sum)   //越界
             j=i;
         else j=i+1;
         if(stu[j].sum>stu[i+2].sum)
             j=j;
         else j=j+2;
     }

其实也不用循环
i = 0;
if(str[i].sum>stu[i+1].sum)
  j=i;
else  j= i+1;
if(stu[j].sum>stu[i+2].sum)
   j = j;
else j = i+2;
}

早知做人那么辛苦!  当初不应该下凡
2016-12-11 01:04
庄子小五
Rank: 1
等 级:新手上路
帖 子:26
专家分:4
注 册:2016-10-23
得分:0 
回复 2楼 yangwawa
失误失误……
2016-12-12 14:39
庄子小五
Rank: 1
等 级:新手上路
帖 子:26
专家分:4
注 册:2016-10-23
得分:0 
回复 3楼 炎天
越界是什么意思,求教
2016-12-12 14:45
王子的新衣
Rank: 2
等 级:论坛游民
帖 子:19
专家分:17
注 册:2016-12-14
得分:3 
越界就是你输入的数比定义的大,相似与数据溢出问题   c++课本19页有   我是大一的呵呵
2016-12-14 09:41
damzkk
Rank: 2
等 级:论坛游民
威 望:2
帖 子:18
专家分:37
注 册:2016-11-7
得分:3 
#include <stdio.h>

#define NAMESIZE 20
 
struct studnet
{
char name[NAMESIZE];
int score1;
int score2;
int sum;
}stu[3];

int main()
{
    int i,max;
    for(i=0;i<3;i++)
    {
        stu[i].sum=0;
        scanf("%s",stu[i].name);
        scanf("%d%d",&stu[i].score1,&stu[i].score2);
        stu[i].sum=stu[i].score1+stu[i].score2;

}
    {

    if(stu[0].sum>stu[1].sum)
      max=0;
    else  max= 1;
    if(stu[max].sum<stu[2].sum)
       max = 2;
        }
    printf("%s",stu[max ].name);
    return 0;
}
2016-12-16 16:05



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




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

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