社攻联盟 - 大型多人在线游戏活动平台

社攻联盟 - 大型多人在线游戏活动平台

shape

11 10 学生成绩结构体函数实现

  • Home
  • 跨服战场
  • 11 10 学生成绩结构体函数实现
  • 2026-02-14 13:46:57
  • admin

11 10 学生成绩结构体函数实现

将11 08 堆空间创建结构体学生成绩的冒泡排序提取为函数

#define _CRT_SECURE_NO_WARNINGS

#include

#include

#include

struct students//8

{

char* name;

float* scores;

};

void bubble(struct students *p,int len)

{

for (int i = 0; i < len - 1; i++)

{

for (int j = 0; j < len - 1 - i; j++)

{

float sum1 = p[j].scores[0] + p[j].scores[1] + p[j].scores[2];

float sum2 = p[j + 1].scores[0] + p[j + 1].scores[1] + p[j + 1].scores[2];

if (sum1 < sum2)

{

struct students tmp = p[j];

p[j] = p[j + 1];

p[j + 1] = tmp;

}

}

}

}

void main()

{

struct students* p = (struct students*)malloc(sizeof(struct students) * 3);

for (int i = 0; i < 3; i++)

{

p[i].name = (char*)malloc(sizeof(char) * 21);

p[i].scores = (float*)malloc(sizeof(float) * 3);

printf("姓名,统率,智力,武力\n");

scanf("%s%f%f%f", p[i].name, &p[i].scores[0], &p[i].scores[1], &p[i].scores[2]);

//getchar();

}

//冒泡排序

bubble(p, 3);

//输出

for (int i = 0; i < 3; i++)

{

printf("%s\t", p[i].name);

printf("%.1f\t", p[i].scores[0]);

printf("%.1f\t", p[i].scores[1]);

printf("%.1f\n", p[i].scores[2]);

}

//释放

for (int i = 0; i < 3; i++) {

free(p[i].name);

free(p[i].scores);

}

free(p);

system("pause");

}

11 10 学生成绩结构体函数实现

Previous Post
棋牌麻将十大品牌

Copyright © 2088 社攻联盟 - 大型多人在线游戏活动平台 All Rights Reserved.

友情链接