统计链表数组中某种商品购买超过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编辑过]