Reficul33 2018-12-19 20:57 采纳率: 75%
浏览 11782
已采纳

输入若干个正整数(输入-1为结束标志),建立一个单向链表,将其中的偶数值结点删除后输出。

编程实现:输入若干个正整数(输入-1为结束标志),建立一个单向链表,将其中的偶数值结点删除后输出。链表节点定义为: struct Node{ int data; struct Node *next; }

输入输出示例:括号内为说明

输入样例:
1 2 3 4 5 6 7 -1
输出样例:
1 3 5 7

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-12-19 13:44
    关注
    #include "stdio.h"
    #include "stdlib.h"
    
    typedef struct Node { int data; struct Node *next; } LList;
    
    int main()
    {
        LList * header = NULL;
        Node * p;
        while (true)
        {
            int input;
            scanf("%d", &input);
            if (input == -1) break;
            if (!header)
            {
                header = (Node *)malloc(sizeof(Node));
                p = header;
                header->data = input;
                header->next = NULL;
            }
            else
            {
                p->next = (Node *)malloc(sizeof(Node));
                p = p->next;
                p->data = input;
                p->next = NULL;
            }
        }
        p = header;
        Node * preP = NULL;
        while (p)
        {
            if (p->data % 2 == 0)
            {
                Node * temp;
                if (!preP)
                {
                    temp = header;
                    header = header->next;
                    p = header;
                    free(temp);
                }
                else
                {
                    temp = p;
                    p = p->next;
                    preP->next = p;
                    free(temp);
                }
            }
            preP = p;
            p = p->next;
        }
        p = header;
        int i = 0;
        while (p)
        {
            printf("%d ", p->data);
            p = p->next;
        }
        printf("\n");
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MATLAB的TDOA
  • ¥15 为啥输入字体突然变了
  • ¥20 已知坐标,换成MATLAB可以用的数据
  • ¥50 写segy数据text时出错
  • ¥15 这个python五子棋代码的每一句意思是什么啊
  • ¥15 求一段隐藏代码,隐藏一些内容
  • ¥15 汇川EASY521plc电子凸轮
  • ¥15 C++ 如何判断设置快捷键来实现隐藏/显示窗口
  • ¥15 关于#材料工程#的问题:有没有具有电子阻挡层和空穴阻挡层的电池仿真silvaco代码例子或者其他器件具有阻挡层例子的silvaco代码(最好还有相关文献)
  • ¥60 基于MATLAB的TAOD算法