C语言在线纠错

C语言在线纠错,第1张

把for(i=1i<=ni++)改成樱哪for(p=i=1i<=ni++)。

把脊判码e=e+(1/p)改成e=e+(1.0f/p)并提前到冲樱前面的}前面。

最好再将e=e+(1.0/p)改成e=e+(1.0f/p)

最好再把printf("e=%f",e)改成printf("e=%f\n",e)。

#include <stdio.h>

#include <stdlib.h>

typedef struct Node

{

int data

struct Node *next

}node

node *input()

{

int i

node *p,*q,*r

q=(node *)malloc(sizeof(node))

q->next=NULL

p=q

printf("请输入不重复的数据(递增,以0结尾):\n")

scanf("%d",&i)

while(i!=0)

{

r=(node *)malloc(sizeof(node))

r->data=i

r->next=NULL

p->next=r

p=r

scanf("%d",&i)

fflush(stdin)

}

return(q)

}

void output(node *head)

{

node *p

p=head->next

while(p)

{

printf("%d\n",p->data)

p=p->next

}

}

void fun(node *ahead,node *bhead,node *chead)

{

node *p,*q,*r,*t

p=ahead->next

q=bhead->next

r=chead

while(p!=NULL&&q!=NULL)

{

if(p->data<q->data) p=p->next

else

{

if(p->data==q->data)

{

t=(node *)malloc(sizeof(node))

t->next=NULL

t->data=p->data

r->next=t

p=p->next

q=q->next

r=r->next

}

else

q=q->next

}

}

}

node * initialize(node *head)

{

head=(node *)malloc(sizeof(node))

head->next=NULL

return head

}

void main()

{

node *ahead,*bhead,*chead=NULL

printf("线性表A\n")

ahead=input()

printf("线性表B\n")

bhead=input()

chead=initialize(chead)

fun(ahead,bhead,chead)

printf("取交集后的数据:\n")

output(chead)

}

增加一迟枯伏个初始化chead的函数,另外码携你的败信fun函数中涉及c线性表的有逻辑错误。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12324669.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存