?一、通過結構體和自定義函數實現成績從大到小的排序,要求在主函數內定義結構體數組。
#include <stdio.h>
//定義一個結構體類型
typedef struct Student
{int age;char name[32];float score;
} STU;
//定義一個函數實現成績從小到大的排序
void fun(STU *p, int num)
{//通過冒泡排序實現成績從大到小的排序for (int i = 0; i < num - 1; i++){for (int j = 0; j < num - 1 - i; j++){if (p[j].score > p[j + 1].score){STU t = p[j];//定義一個臨時結構體變量實現參數的交換p[j] = p[j + 1];p[j + 1] = t;}}}
}
int main(int argc, char const *argv[])
{//在主函數內定義結構體數組STU stu[3] = {{1, "zhang", 23.5}, {2, "wang", 45.7}, {76, "li", 87.6}};STU *sp = stu;//定義一個結構體指針fun(sp, 3);//從小到大排序//打印輸出數據for (int i = 0; i < 3; i++){printf("%d %s %.2f\n", stu[i].age, stu[i].name, stu[i].score);}return 0;
}
二、通過union聯合體判斷計算機是大端存儲還是小端存儲。
?
#include <stdio.h>
union demo
{int a;char b;
};int main(int argc, char const *argv[])
{union demo d1;d1.a=0x12345678;printf("%#x\n",d1.b);//0x78return 0;
}