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

输入若干个正整数(输入-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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 (有偿)懂数值分析和含时变参数微分方程的来
  • ¥15 layui父页的数据表格如何用弹窗页提交后的查询数据来更新数据表格内容?
  • ¥15 abaqus随机生成二维颗粒
  • ¥15 安装ansys许可证管理器时出现了这个问题,如何解决?
  • ¥100 高价求算法,利用智能手机传感器计算车辆的三轴g值
  • ¥15 Blazor server 数据库操作异常,如何解决?(语言-c#)
  • ¥15 uni-app开发APP运行到浏览器访问接口跨域
  • ¥100 mfc消息自创建控件
  • ¥15 网页视频跳过后学习进度未增加
  • ¥15 研究生初试录取系统设计的c++