纸鸢戏 2021-11-22 17:32 采纳率: 100%
浏览 41
已结题

如何在静态链表中输入输出姓名

这段代码只能显示学号和成绩,如何实现显示姓名?完整代码:
#include<stdio.h>
struct Student
{int num;
float score;
struct Student*next;
};
int main()
{struct Student a,b,c,d,*head,*p;
a.num=202101;a.score=93.7;
b.num=202102;b.score=94.1;
c.num=202103;c.score=93.8;
d.num=202104;d.score=93.9;
head=&a;
a.next=&b;
b.next=&c;
c.next=&d;
d.next=NULL;
p=head;
do
{printf("%ld%5.1f\n",p->num,p->score);
p=p->next;
}while(p!=NULL);
return 0;
}

运行结果(不知如何上传图片,用文字表示):
202101 93.7
202102 94.1
202103 93.8
202104 93.9
我想让运行结果变为:
202101 xiaoming 93.7
202102 xiaowei 94.1
202103 xiaotian 93.8
202104 xiaodu 93.9
请问该如何添加代码?

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-11-22 17:34
    关注

    你加一个姓名字段啊

    #include<stdio.h>
    struct Student
    {int num;
    float score;
     char *name;
    struct Student*next;
    };
    int main()
    {struct Student a,b,c,d,*head,*p;
    a.num=202101;a.score=93.7;a.name = "xiaoming";
    b.num=202102;b.score=94.1;b.name = "xiaowei";
    c.num=202103;c.score=93.8;c.name="xiaotian";
    d.num=202104;d.score=93.9;d.name="xiaodu";
    head=&a;
    a.next=&b;
    b.next=&c;
    c.next=&d;
    d.next=NULL;
    p=head;
    do
    {printf("%ld %s %5.1f\n",p->num,p->name,p->score);
    p=p->next;
    }while(p!=NULL);
    return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月22日
  • 已采纳回答 11月22日
  • 创建了问题 11月22日

悬赏问题

  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,
  • ¥15 spaceclaim模型变灰色
  • ¥15 求一份华为esight平台V300R009C00SPC200这个型号的api接口文档
  • ¥15 字符串比较代码的漏洞
  • ¥15 欧拉系统opt目录空间使用100%
  • ¥15 ul做导航栏格式不对怎么改?