在线求解,急急急,有无大佬

输入一组整数 从键盘输入一组整数(以输入0为结束) ,将所有的正整数存入链表,并输出链表的内容。计算并显示链表中各个结点域值的平均值

节点域值是什么值?就是输入的整数吗?

供参考:

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

struct NODE {
    int          data;
    struct NODE *next;
} *head,*p,*q;

int main()
{
    int avg=0,n=0;
    head=NULL;
    p=head;
    while(1){
        q=(struct NODE *)malloc(sizeof(struct NODE));
        if (q == NULL) return 1;
        q->next=NULL;
        scanf("%d",&q->data);
        if(q->data == 0) break;
        if(q->data >0){
           if(head==NULL){
               head = p = q;
           }else{
               p->next=q;
               p=q;
           }
        }else{
           free(q);
        }
    }
    free(q);
    p=head;
    while (1) {  //输出整个单链表
        if (p==NULL){
            printf("\n");
            break;
        }
        avg += p->data;n++;
        printf("%2d->",p->data);
        p=p->next;
    }
    printf("avg=%.2f\n",(float)avg/n);
    
    return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632