实验十二(2018)C. 实验11_3_结构排序

这里的重点依然是排序,输入输出单组数据用getData和printStudent接受指针来控制排序依然是比较a[order[]]交换order[]的策略,只要把编号搞出来就行不熟悉这种排序的朋友可以看实验十一(2018)D. 实验9_20_字符串排序插入排序中sum大小比较可能要换一次,sum大小相同时根据名称的大小还要换一次,这个strcmp有丶长,不过也好理解。值得注意的是,由于每个学...
摘要由CSDN通过智能技术生成

这里的重点依然是排序,输入输出单组数据用getData和printStudent接受指针来控制
排序依然是比较a[order[]]交换order[]的策略,只要把编号搞出来就行
不熟悉这种排序的朋友可以看实验十一(2018)D. 实验9_20_字符串排序
插入排序中sum大小比较可能要换一次,sum大小相同时根据名称的大小还要换一次,这个strcmp有丶长,不过也好理解。
值得注意的是,由于每个学生信息输入的时候都以数字结尾,下一次读取名字的字符串前要用getchar()把末尾的回车吃掉,不然会读到一个空行
结构体的名称和数组不同,它不是首地址,获得结构体的首地址要用&。
getData函数里有个要注意的地方,读取字符串时用 结构体.成员 就行了,但是读取数字时和正常的scanf一样,要先获取它的地址,所以一个没有&一个有&。
由于是用空格分隔的,用scanf(%s)的特性读取字符串更加简便。

#include <stdio.h>
struct student
{
   
	char name[21];
	int sum;
};
typedef struct student Student;
void getData(Student*);
void printStudent(Student*);
int main(int argc, char const *argv[])
{
   
	int i,j
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值