略懂c语言 2022-04-27 20:35 采纳率: 92.6%
浏览 677
已结题

c语言输出链表偶数结点

先输入N个整数,按照输入的顺序建立链表。然后遍历并输出偶数位置上的结点信息。
第一行输入整数的个数N 1≤N≤100;第二行依次输入N个整数。
输出该链表偶数位置上的结点的信息。
输入
2
8
12 56 4 6 55 15 33 62
3
1 2 1
输出
56 6 15 62
2

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-04-27 22:35
    关注

    供参考:

    #include <stdio.h>
    #include <malloc.h>
    
    typedef struct Node {// 链表节点结构
        int    data;
        struct Node* next;
    }Node, * LinkList;
    void destroyNodes(LinkList L)
    {
        Node *pL = NULL;
        while(L){
            pL = L;
            L = pL->next;
            free(pL);
        }
    }
    void show(LinkList L)//输出单链表偶数位置结点信息
    {
        if (L == NULL || L->next == NULL) return;
        int i = 0;
        Node* p = L->next;
        while (p) {
            if ((i+1) % 2 == 0)
                printf(i+1 == 2 ? "%d":" %d", p->data);
            i++;
            p = p->next;
        }
        printf("\n");
    }
    
    // 创建链表
    void createListFromHead(LinkList* L, int n)
    {
        Node* pL;
        int   i;
        (*L) = (Node*)malloc(sizeof(Node));// 创建头结点
        (*L)->data = -1;
        (*L)->next = NULL;
        pL = (*L);
        for (i = 0;i < n; i++) // 生成链表
        {
            Node* p = (Node*)malloc(sizeof(Node));
            p->next = NULL;
            scanf("%d", &p->data);
            pL->next = p;
            pL = p;
        }
    }
    int main()
    {
        int n, m;
        scanf("%d", &n);
        while (n--){
              scanf("%d", &m);
              LinkList L = NULL;
              createListFromHead(&L, m);
              show(L);
              destroyNodes(L);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月6日
  • 已采纳回答 4月28日
  • 创建了问题 4月27日

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况