0


从零开始学习嵌入式----结构体struct和union习题回顾

** 一、**通过结构体和自定义函数实现成绩从大到小的排序,要求在主函数内定义结构体数组。

  1. #include <stdio.h>
  2. //定义一个结构体类型
  3. typedef struct Student
  4. {
  5. int age;
  6. char name[32];
  7. float score;
  8. } STU;
  9. //定义一个函数实现成绩从小到大的排序
  10. void fun(STU *p, int num)
  11. {
  12. //通过冒泡排序实现成绩从大到小的排序
  13. for (int i = 0; i < num - 1; i++)
  14. {
  15. for (int j = 0; j < num - 1 - i; j++)
  16. {
  17. if (p[j].score > p[j + 1].score)
  18. {
  19. STU t = p[j];//定义一个临时结构体变量实现参数的交换
  20. p[j] = p[j + 1];
  21. p[j + 1] = t;
  22. }
  23. }
  24. }
  25. }
  26. int main(int argc, char const *argv[])
  27. {
  28. //在主函数内定义结构体数组
  29. STU stu[3] = {{1, "zhang", 23.5}, {2, "wang", 45.7}, {76, "li", 87.6}};
  30. STU *sp = stu;//定义一个结构体指针
  31. fun(sp, 3);//从小到大排序
  32. //打印输出数据
  33. for (int i = 0; i < 3; i++)
  34. {
  35. printf("%d %s %.2f\n", stu[i].age, stu[i].name, stu[i].score);
  36. }
  37. return 0;
  38. }

二、通过union联合体判断计算机是大端存储还是小端存储。

  1. #include <stdio.h>
  2. union demo
  3. {
  4. int a;
  5. char b;
  6. };
  7. int main(int argc, char const *argv[])
  8. {
  9. union demo d1;
  10. d1.a=0x12345678;
  11. printf("%#x\n",d1.b);//0x78
  12. return 0;
  13. }
标签: 算法 前端

本文转载自: https://blog.csdn.net/D1557329860/article/details/140470310
版权归原作者 你好,奋斗者! 所有, 如有侵权,请联系我们删除。

“从零开始学习嵌入式----结构体struct和union习题回顾”的评论:

还没有评论