0.460 2022-04-02 11:41 采纳率: 100%
浏览 14
已结题

能帮我看看程序有什么问题吗

#include<stdio.h>
#include<string.h>
typedef struct date
{ int year;
int month;
int day;
}DATE;
typedef struct student
{
int num;
char name[20];
char sex;
DATE birthday;
float score;
}STUDENT;
void inputarr(STUDENT s[], int n);
void outputarr(STUDENT s[], int n);
int main()
{
STUDENT b[5];
inputarr(b,5);
outputarr(b,5);
return 0;
}

void inputarr(STUDENT s[],int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",&s[i].num);
scanf("%s",s[i].name);
scanf("%s",s[i].sex);
scanf("%d",&s[i].birthday.year);
scanf("%d",&s[i].birthday.month);
scanf("%d",&s[i].birthday.day);
scanf("%f",&s[i].score);
}
}
void outputarr(STUDENT s[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("学号:%d 姓名:%s 性别:%s 出生日期:%d-%d-%d 成绩:%f\n",s[i].num,s[i].name,s[i].sex,s[i].birthday.year,s[i].birthday.month,s[i].birthday.day,s[i].score);
}
}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-04-02 12:15
    关注

    修改处见注释,供参考:

    #include<stdio.h>
    #include<string.h>
    typedef struct date
    {
        int year;
        int month;
        int day;
    }DATE;
    typedef struct student
    {
        int num;
        char name[20];
        char sex;
        DATE birthday;
        float score;
    }STUDENT;
    void inputarr(STUDENT s[], int n);
    void outputarr(STUDENT s[], int n);
    int main()
    {
        STUDENT b[5];
        inputarr(b, 5);
        outputarr(b, 5);
        return 0;
    }
    
    void inputarr(STUDENT s[], int n)
    {
        int i;
        for (i = 0; i < n; i++)
        {
            scanf("%d", &s[i].num);
            getchar();              //修改
            scanf("%s", s[i].name);
            getchar();              //修改
            scanf("%c", &s[i].sex);  //scanf("%s", s[i].sex);修改
            scanf("%d", &s[i].birthday.year);
            scanf("%d", &s[i].birthday.month);
            scanf("%d", &s[i].birthday.day);
            scanf("%f", &s[i].score);
        }
    }
    void outputarr(STUDENT s[], int n)
    {
        int i;
        for (i = 0; i < n; i++)
        {
            //printf("学号:%d 姓名:%s 性别:%s 出生日期:%d-%d-%d 成绩:%f\n",
            printf("学号:%d 姓名:%s 性别:%c 出生日期:%d-%d-%d 成绩:%f\n", //修改
                s[i].num, s[i].name, s[i].sex, s[i].birthday.year, s[i].birthday.month, s[i].birthday.day, s[i].score);
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月10日
  • 已采纳回答 4月2日
  • 创建了问题 4月2日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度