| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1323 人关注过本帖
标题:新手题结构体输出 各位大佬能帮帮看哪里出错了么?
只看楼主 加入收藏
qq14
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2020-11-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
新手题结构体输出 各位大佬能帮帮看哪里出错了么?
有3名学生,分别输入其姓名,性别(M/F)与学号(10位数)。并按照学号顺序排序后空格间隔输出。
Xiaowang M 2020121212
Xiaomei F 2020121210
Xiaoli F 2020121211
我写的是这样的,能输入但输出不了任何东西。。有大佬能指点一下么?


#include <stdio.h>
#include <stdlib.h>
typedef struct student
{
    char studentName[100];
    char studentSex;
    long studentID;
}STUDENT;
void Input(STUDENT stu[]);
void Print(STUDENT stu[]);
int main()
{
    STUDENT stu[3];
    int t,k,p;
    Input(stu);
    for(t=0;t<3;t++)
    {
       k=t;
       for(p=t+1;p<=3;p++)
       {
           if(stu[t].studentID>stu[p].studentID)
           {
               k=p;
           }
       }

    if(k!=t)
    {
        STUDENT o;
        o=stu[k];
        stu[k]=stu[t];
        stu[t]=o;
    }
    }
    Print(stu);
    return 0;
}
void Input(STUDENT stu[])
{
    int i;
    for(i=0;i<3;i++)
    {
        scanf("%s %c%ld",stu[i].studentName,&stu[i].studentSex,&stu[i].studentID);
   
    }
}

void Print(STUDENT stu[])
{
    int j=0;
    for(j=0;j<3;j++)
    {
        printf("%s %c%ld",stu[j].studentName,stu[j].studentSex,stu[j].studentID);
 
        printf("\n");
    }
}
搜索更多相关主题的帖子: stu 输出 void student int 
2020-12-23 16:47
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:20 
第二个for越界了,STUDENT stu[3];的下标是0-2
for(p=t+1;p<3;p++)

2020-12-23 18:40
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:0 
排序也有些问题
程序代码:
for(t=0;t<2;t++)
    {       
       for(p=t+1;p<3;p++)
       {
           if(stu[t].studentID>stu[p].studentID)
           {
                STUDENT o;
                o=stu[p];
                stu[p]=stu[t];
                stu[t]=o;
           }
       }
    }
2020-12-23 18:59
qq14
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2020-11-23
收藏
得分:0 
问了下同学终于搞懂了嘿嘿,应该要long long(lld)型定义学号十位数才行的,不然就运行超时了!
2020-12-23 19:39
qq14
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2020-11-23
收藏
得分:0 
回复 2楼 apull
是的,我写的毛病好多,主要我基础不好应该longlong来定义的。谢谢你,改了之后运行出来了哈哈!
2020-12-23 19:42
快速回复:新手题结构体输出 各位大佬能帮帮看哪里出错了么?
数据加载中...
 
   



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

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