小弟在这里跪求高手,我遇到一个棘手的问题,用C写一段代码,顺序产生11位的顺序码,
比如从10000000000到20000000000之间的所有的数字,谢谢,我愿意送一个QQ号码。谢谢!
真诚谢谢哪位高手。
呵呵,谢谢楼上哈,不过这么简单吗?好象不行哦,我是要任意的11位数,你看哈我的源程序,不过运行不出来,要做大的修改。
int a[14];
double x;
int i,j;
for(x=10000000000;x<=10000000020;x++)
{
a[0]=x/10000000000;
a[1]=x/1000000000-a[0]*10;
a[2]=x/100000000-a[0]*100-a[1]*10;
a[3]=x/10000000-a[0]*1000-a[1]*100-a[2]*10;
a[4]=x/1000000-a[0]*10000-a[1]*1000-a[2]*100-a[3]*10;
a[5]=x/100000-a[0]*100000-a[1]*10000-a[2]*1000-a[3]*100-a[4]*10;
a[6]=x/10000-a[0]*1000000-a[1]*100000-a[2]*10000-a[3]*1000-a[4]*100-a[5]*10;
a[7]=x/1000-a[0]*10000000-a[1]*1000000-a[2]*100000-a[3]*10000-a[4]*1000-a[5]*100-a[6]*10;
a[8]=x/100-a[0]*100000000-a[1]*10000000-a[2]*1000000-a[3]*100000-a[4]*10000-a[5]*1000-a[6]*100-a[7]*10;
a[9]=x/10-a[0]*1000000000-a[1]*100000000-a[2]*10000000-a[3]*1000000-a[4]*100000-a[5]*10000-a[6]*1000-a[7]*100-a[8]*10;
a[10]=x-a[0]*10000000000-a[1]*1000000000-a[2]*100000000-a[3]*10000000-a[4]*1000000-a[5]*100000-a[6]*10000-a[7]*1000-a[8]*100-a[9]*10;
for (i=1;i<=1;i++)
{
a[11]=i/100;
a[12]=i/10-a[11]*10;
a[13]=i-a[11]*100-a[12]*10;
for (j=0;j<14;j++)
{
printf("%d",a[j]);
}
printf("\n");
}
}
return 0;
}
你的程序写得真够艺术性的
#include <stdlib.h>
#include <stdio.h>
#define SIZE 14
int main(void)
{
int a[SIZE];
int i,tmp,t;
for(i=0;i<SIZE;i++)
a[i]=0;
while(1)
{
a[SIZE-1]++;
tmp=a[SIZE-1]/10;
a[SIZE-1]%=10;
t=SIZE-2;
while(tmp)
{
a[t]+=tmp;
tmp=a[t]/10;
a[t--]%=10;
}
for(i=0;i<SIZE;i++)
printf("%d",a[i]);
printf("\n");
getch();
}
return 0;
}