qq_62513284 2021-12-22 16:57 采纳率: 85.2%
浏览 14
已结题

为什么这个排序输出的会是一堆乱码?


#include <stdio.h>#include <stdlib.h>#define LEN sizeof(struct student)struct student//定义结构体类型{    long num;    char  name[20];    float score;    struct student* next;};int n;int main()//程序{    struct student* creat(void);//动态链表函数声明    void output(struct student* head);//输出链表函数声明    int max();    //struct student* p0;    //p0 = creat();    //n = 0;    //output(p0);    creat();    max();    return 0;}struct student* creat(){    struct student* head, * p1, * p2;    p2 = 0;    head = NULL;    printf("请输入学生信息:学号  姓名  成绩:\n");    while (1)    {        p1 = (struct student*)malloc(LEN);        if (!p1)  return 0;        p1->next = NULL;        scanf_s("%ld %s %f", &p1->num, &p1->name, 20, &p1->score);        if (p1->num == 0)  break;        n++;        if (n == 1)            head = p1;        else            if (!p2) return 0;            else                p2->next = p1;        p2 = p1;    }    return head;}void output(struct student* head)//输出链表函数{    struct student* p;    p = head;    n = 0;    if (head != NULL)        do        {            printf("%ld,%s,%f\n", p->num, p->name, p->score);            p = p->next;            n++;        } while (p != NULL);}int max(){    struct student* p;    struct student head;    p =&head;    int i, j;    float a[LEN], t;    for (i = 0; i < (int)LEN; i++)        a[i] = p->score;    for (j = 0; j < (int)LEN; j++)        for (i = 0; i<(int)LEN - j; i++)            if (a[i] > a[i + 1])            {                t = a[i]; a[i] = a[i + 1]; a[i + 1] = t;            }    for (i = 0; i < (int)LEN; i++)        printf("%f", a[i]);    return 0;}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月30日
    • 创建了问题 12月22日

    悬赏问题

    • ¥20 verilog状态机方法流水灯
    • ¥15 pandas代码实现不了意图
    • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
    • ¥25 LT码在高斯信道下的误码率仿真
    • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
    • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
    • ¥15 电视版的优酷可以设置电影连续播放吗?
    • ¥50 复现论文;matlab代码编写
    • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
    • ¥15 数字图像的降噪滤波增强