龟儿子苓膏 2022-05-01 15:42 采纳率: 86.7%
浏览 60
已结题

链式存储当中出现“屯”等字眼

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果

img

我的解答思路和尝试过的方法
我想要达到的结果

```c
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<malloc.h> 
#include<limits.h> 
#include<stdio.h> 
#include<stdlib.h> 
#include<io.h> 
#include<math.h> 
#include<process.h>
#define LEN sizeof(LNode)
#pragma warning(disable : 4996)

typedef struct LNode
{
    int score;//成绩
    char name[20];//名字
    int school;//学校编号
    struct LNode* next;
}LNode,*LinkList;
//1.建立一个有序表,按次序输入学生的名字成绩和学校编号,输入学生名字为零时结束输入
LinkList creatIncreLink() {
    LinkList p;
    int num = 1, score;
    int school=-1;
    char name[20] = {0}, temp;
    LinkList L,P;
    L = (LinkList)malloc(LEN);//创建头节点
    if(L)
       L->next = NULL;//头节点的下一个结点指向空
    printf("输入该学生的名字:%d:", num);
    temp = getchar();
    gets(name);
    printf("输入该学生的成绩:%d:",num);
    scanf_s("%d", &score);
    printf("输入该学生的学校编号:%d:",num);
    scanf_s("%d", &school);
    while (school!=0) {
        p = (LinkList)malloc(LEN);
        if (p)
        {
            p->school = school;
            p->score = score;
            strcpy(p->name, name);
            insertYouXu(L, p);
            num++;
            printf("输入该学生的名字:%d:",num);
            temp = getchar();
            gets(name);
                printf("输入该学生的成绩:%d:",num);
                scanf_s("%d", &score);
                printf("输入该学生的学校编号:%d:",num);
                scanf_s("%d", &school);
                
            }
        }
        return (L);
}
LinkList prior(LinkList L, LinkList p) {//找前驱
    LinkList p_prior = L;
    if (L->next == NULL) return (L);
    while (p_prior->next != p)
        p_prior = p_prior->next;
    return (p_prior);
}
int insertYouXu(LinkList L, LinkList Elem) {
    LinkList p = L->next;
    if (p == NULL) {
    
        p = prior(L, p);
        Elem->next = NULL;
        p->next = Elem;
    }
    else {
        p = prior(L, p);
        Elem->next = p->next;
        p->next = Elem;
    }
}

//根据该学校的学校编号,统计各个学校的成绩
/*int schoolsearch(LinkList L, char n[]) {

}*/
//为了验证输入的正确,这里再多加一个函数输出记录的数据
void printList(LinkList L) {
    LinkList p = L;
    int n = 1;
    printf("\n          -----------------\n");
    printf("            姓名       成绩       学校编号\n");
    printf("            -----------------\n");
    if (L == NULL || L->next == NULL)
        printf("wrong\n");
    else
        while (p->next != NULL)
        {
            printf("   %s     %d      %d\n", p->name, p->score, p->school);
            p = p->next;
            n++;
        }
    return;
}


void main(){/*
    //先指向一个空的链表
    int menu;
     //或许会要用到一个指针,暂时不知道有什么用,先留着
    system("color if");//据说是设置界面颜色,暂时不知道有什么用
    printf("********************^@^欢迎使用运动会分数统计系统********************\n");
    printf("          *          1  输入个项目前三名或者前五名的成绩            *\n");
    printf("          *          2  统计各学校总分                              *\n");
    printf("          *          3  按学校编号、学校总分、男女团体总分排序输出  *\n");
    printf("          *          4  按学校编号查询学校某个项目的情况            *\n");
    printf("          *          5  按项目编号查询取得前三或前五名的学校        *\n");
*/LinkList L = NULL;

    printf("建立男子一百米的链表链表(从小到大):\n");
    L = creatIncreLink();
        printList(L);
    printf("建立男子两百米的 链表:\n");
    L = creatIncreLink();
        printList(L);

}



```

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-05-01 18:29
    关注

    代码没贴全,看不出来问题在哪。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月10日
  • 已采纳回答 5月2日
  • 修改了问题 5月1日
  • 修改了问题 5月1日
  • 展开全部

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?