输入一组整数 从键盘输入一组整数(以输入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