| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 841 人关注过本帖
标题:[求助]链表问题
取消只看楼主 加入收藏
hsong1986
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
 问题点数:0 回复次数:3 
[求助]链表问题

统计链表数组中某种商品购买超过2次的商品代码
代码(1,2,3,4,5,6)
#include <stdio.h>
#include <stdlib.h>
struct link
{
int num;
struct link *next;
};
struct link *creat(struct link *head) /*创建链表*/
{
struct link *p1,*p2;
int n=0;
p1=p2=(struct link *)malloc(sizeof(struct link));
scanf("%d",&p1->num);
head=NULL;
while(p1->num!=0)
{
n=n+1;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(struct link *)malloc(sizeof(struct link));
scanf("%d",&p1->num);
}
p2->next=NULL;
return head;
}

main()
{
struct link D[10],*p1;
int n,i,s,a[6],k=0,flag1,flag2,sum,B[6][2]; /*定义数据,全有用*/
for(n=0;n<10;n++) /*创建数组存放10个链表*/
D[i].next=creat(&D[i]);
for(i=1;i<=6;i++) /*对商品1-6逐一对照*/
{
s=0;
for(n=0;n<10;n++)
{
p1=&D[n];
while(p1->next!=NULL)
{
p1=p1->next;
if(p1->next==i)
s++;}}
if(s>=2)
{a[k]=i; /*存放满足条件的商品*/
k++; }}
for(i=0;i<k;i++)
printf("%d",a[i]);} /*输出满足条件的商品*/
链表数组建立正确吗?
数据输入正确吗?
输入数据后为什么没有输出???

[此贴子已经被作者于2006-6-18 11:47:32编辑过]

搜索更多相关主题的帖子: 链表 
2006-06-18 11:46
hsong1986
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 

#include <stdio.h>
#include <stdlib.h>
struct link
{
int num;
struct link *next;
};
struct link *creat(struct link *head)
{
struct link *p1,*p2;
int n=0;
p1=p2=(struct link *)malloc(sizeof(struct link));
scanf("%d",&p1->num);
head=NULL;
while(p1->num!=0)
{
n=n+1;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(struct link *)malloc(sizeof(struct link));
scanf("%d",&p1->num);
}
p2->next=NULL;
return head;
}

main()
{
struct link D[10],*p1;
int n,i,j,s,a[6],k=0,b=0,flag1,flag2,sum,B[6][2];
for(n=0;n<10;n++)
D[n].next=creat(&D[n]);
for(i=1;i<=6;i++)
{
s=0;
for(n=0;n<10;n++)
{
p1=&D[n];
while(p1->next!=NULL)
{
p1=p1->next;
if(p1->num==i)
s++;
}
}
if(s>=2)
{
a[k]=i;
k++;
}
}
printf("Yi Wei Fan Mu Ji:\n");
for(i=0;i<k;i++)
printf("%4d",a[i]);
}

[此贴子已经被作者于2006-6-21 16:10:54编辑过]


智慧是:判断正确 接受新知 处世明快 汲取经验 善用知识
2006-06-19 11:42
hsong1986
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 
以下是引用穆扬在2006-6-19 11:46:52的发言:
写的比老谭好
至少n不是全局变量

建议把
D[n].next=creat(&D[n]);
改为
D[n].next=creat(&D[n]+2006);

什么意思啊? 为什么?


智慧是:判断正确 接受新知 处世明快 汲取经验 善用知识
2006-06-20 16:08
hsong1986
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-13
收藏
得分:0 
以下是引用穆扬在2006-6-19 11:48:27的发言:


我行不行我自己知道
可怜的是有些人自己不知道

不好意思,一时冲动.


智慧是:判断正确 接受新知 处世明快 汲取经验 善用知识
2006-06-20 16:33
快速回复:[求助]链表问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018268 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved