求一个用到顺序表的程序

来源:百度知道 编辑:UC知道 时间:2024/05/10 13:39:13

用单链表求数字排列组合的程序:
/*
使用单链表
输入时数字以空格隔开,以回车结束
*/
#include"stdio.h"
typedef struct node
{
int num;
node *next;
int checked;
}lnode,*llist;
void main()
{
char ch;
llist l=NULL;
lnode *t;
int checkedcount,rcount;
int a[6],i,j,k,record[1000]={0},n=1;
int b[6]={1,10,100,1000,10000,100000};
ch=' ';
i=0;
printf("输入数字(数字以空格隔开,以回车结束,最多6个数字):");
while(ch!='\n')
{
lnode *p=new lnode;
scanf("%d",&p->num);
p->next=l;
l=p;
i++;
ch=getchar();
}
rcount=0;
for(j=1;j<i;j++)
n*=10;
for(j=n;j<10*n;j++)
{
checkedcount=0;
for(t=l;t!=NULL;t=t->next)
t->checked=0;
for(k=0;k<i;k++)
{
a[k]=(j/b[k])%10;
for(t=l;t!=NULL;t=t->next)
if(t->num==a[k]&&t->checked==0)