提示:
黑马程序员
练习案例以及代码:
#includeusing namespace std; struct hero { string name; int age; string gender; }; void bubble(hero arr[], int len) { //比较arr[i].age的大小进行排序 for (int j = 0; j < len - 1; j++) { for (int i = 0; i < len-j -1; i++)//后面不能加“;” { if (arr[i].age > arr[i + 1].age) { hero temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; } } cout << "j=" << j << endl; //检查 for (int k = 0; k < len; k++) { cout << j<<" 年龄:" << arr[k].age << endl; } cout << endl; } } void print1(hero arr[], int len) { for (int i = 0; i < len; i++) { cout << "英雄姓名:" << arr[i].name << "年龄:" << arr[i].age << "性别" << arr[i].gender << endl; } } int main() { int a = 1; strudf(a); te(a); hero arr[5] = { {"刘备",23,"男"}, {"关羽",22,"男"}, {"张飞",21,"男"}, {"赵云",20,"男"}, {"貂蝉",19,"女"}, }; int len = sizeof(arr) / sizeof(arr[0]); //设计英雄结构体:年龄,性别,姓名, *结构体通常放在(主函数)外侧定义 // 创建数组存放英雄数据 // 创建结构体数组:存放五名英雄 // 按年龄冒泡排序升序 bubble() // 打印排序后的结果 print1() cout << len << endl; cout << "排序前:" << endl; print1(arr, len); bubble(arr, len); cout << "排序后:" << endl; print1(arr, len); system("pause"); return 0; }
需要注意的点: 1.结构体数组怎么在主函数和子函数间传递 2.地址传递子函数可以改变主函数中的值,值传递不能改变
总结:
提示:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)