- 论坛徽章:
- 2
|
- #include <stdio.h>
- #include <malloc.h>
- struct student
- {
- int num;
- char name[100];
- char sex;
- float score;
- };
- void sort(struct student *p, int l)
- {
- struct student t;
- int i, j;
- for(i = 0; i <= l - 1; ++i) {
- for (j = 0; j <= l - 1 - i; ++j) {
- if (p[j].score < p[j + 1].score) {
- t = p[j];
- p[j] = p[j+1];
- p[j+1] = t;
- }
- }
- }
- }
- int main (void)
- {
- int i;
- int len;
- struct student * pArr;
- printf("请输入学生个数:");
- scanf("%d", &len);
- if (len > 0) {
- pArr = (struct student *)malloc(len * sizeof(struct student));
- if (pArr != NULL) {
- for (i = 0; i < len; ++i) {
- printf("请输入第%d个学生信息:\n", i);
- scanf("%d %s %c %f", &pArr[i].num, pArr[i].name, &pArr[i].sex, &pArr[i].score);
- printf("\n");
- }
- sort(pArr, len);
- for (i = 0; i < len; ++i) {
- printf("输出的是成绩第%d名学生信息:\n", i);
- printf("%d %s %c %f", pArr[i].num, pArr[i].name, pArr[i].sex, pArr[i].score);
- printf("\n");
- }
- free(pArr);
- return 0;
- }
- }
- return -1;
- }
复制代码 |
|