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

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日

悬赏问题

  • ¥15 爬虫爬取网站的一些信息
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错