东北大学2021年考研真题C语言部分编程题第一题

文章讲述了如何在C语言中使用指针数组和结构体来存储和管理不同等级的学生名字,重点讲解了如何通过指针操作、结构体定义和输出格式化来实现数据的高效表示和打印。
摘要由CSDN通过智能技术生成

 

程序设计思想:每一个等级的学生名字存到一个指针数组中,使得指针数组的某个元素指向每一个该等级下的学生名字对应的数组首地址(即字符数组名),最后遍历每一个等级下的指针数组,打印数组的长度以及保存的所有名字信息

程序关键点:1:当要输出一定格式的数据时候,可以使用结构定义要输出的数据,如本题要输出每个等级的人数和姓名,就可以定义一个结构体,成员是该等级的人数和指向每个姓名的指针数组

2:指针数组成员char *nameList[30]是指的每个nameList元素是一个指针,指向record[i].name,这样最后输出就可以遍历该指针数组指向的地址,从而达到输出每个人的名字的效果

3:先获取该学生的等级,那么对应每一个学生的等级-'A'=packageList对应的数组下标(从A开始到E),就对应packList[0,1,2,3,4,5]的nameLishtLength+1,最后统计完人数,直接输出packList[i].nameListLength,就是每个等级的人数,同时要将字符指针数组指向地址空间,packageList[当前学生等级-'A']的nameList[0,1,2——当前等级下的人数]指向record[i].name(即指向存储当前学生名字字符串的首地址)

**C语言中字符相减可以对应赋值为相应的整数

4:printf("%c:%d",i+'A',package[0-5]的人数)就是分别输出字符A-E,**A-E的格式输出可以用i+'A',用整数对应的ascii码对应字符来输出

5:打印出来的学生名字格式为,除了最后一个元素最后是; 前面的元素后都是一个','  ,所以输出的格式是在输出每个学生名前加一个逗号 ,而先用一个判断语句第一个元素前不用输出逗号,这样最后一个元素后就不会有逗号,在打印完全部" ,学生姓名 "循环后添加一个;

6:输出学生的姓名,学生的姓名是用指针数组指向的,%s是输出字符串的替代符,引用是package[i].nameList[0——len],即可输出每个指针指向的学生名字 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值