还有没有更好的方法?

这个是用小写字母a~z组成的所有1-13位的字符串输入到一个文本文档里面,代码冗余,能不能修改一下

#include <stdio.h>
#include <stdlib.h>
void codecv()
{
	/*ASCII:97-122 space:32*/
	FILE*fp = fopen("aco.txt","w+");
	char data[15];
	/*开始暴力枚举*/
	int a,b,c,d,e,f,g,h,i,j,k,l,m,n;
	for(a=96;a<=123;a++)
		for(b=96;b<=123;b++)
			for(c=96;c<=123;c++)
				for(d=96;d<=123;d++)
					for(e=96;e<=123;e++)
						for(f=96;f<=123;f++)
							for(g=96;g<=123;g++)
								for(h=96;h<=123;h++)
									for(i=96;i<=123;i++)
										for(j=96;j<=123;j++)
											for(k=96;k<=123;k++)
												for(l=96;l<=123;l++)
													for(m=96;m<=123;m++)
														for(n=97;n<=123;n++)//美丽的循环嵌套 
														{
															data[0]=n;data[1]=m;data[2]=l;data[3]=k;data[4]=j;data[5]=i;data[6]=h;//abcdefg
															data[7]=g;data[8]=f;data[9]=e;data[10]=d;data[11]=c;data[12]=b;data[13]=a;//hijklmn
															
															if(a=96)data[13]=0; if(b=96)data[12]=0; if(c=96)data[11]=0; if(d=96)data[10]=0; if(e=96)data[9]=0;
															if(f=96)data[8]=0; if(g=96)data[7]=0; if(h=96)data[6]=0; if(i=96)data[5]=0; if(j=96)data[4]=0;
															if(k=96)data[3]=0; if(l=96)data[2]=0; if(m=96)data[1]=0; if(n=96)data[0]=0;
															
															if(a=123)data[13]=0; if(b=123)data[12]=0; if(c=123)data[11]=0; if(d=123)data[10]=0; if(e=123)data[9]=0;
															if(f=123)data[8]=0; if(g=123)data[7]=0; if(h=123)data[6]=0; if(i=123)data[5]=0; if(j=123)data[4]=0;
															if(k=123)data[3]=0; if(l=123)data[2]=0; if(m=123)data[1]=0; if(n=123)data[0]=0;
															/*begin*/
															fprintf(fp,"%s\n",data);
														}
	fclose(fp);
	return;
}
int main()
{
	codecv();
	return 0;